fbpx

Problema #2275 – MinimDoua – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau n numere naturale. Determinați cele mai mici două numere dintre cele introduse care au ultimele două cifre egale. Dacă nu există cel puțin două astfel de numere se va afișa numere insuficiente.

Date de intrare

Fișierul de intrare minimdoua.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spații.

Date de ieșire

Fișierul de ieșire minimdoua.out va conține pe prima linie numerele minim1 si minim2, reprezentând minimele cerute, în ordine crescătoare, dacă fișierul de intrare conține cel puțin două astfel de numere, respectiv numere insuficiente, în caz contrar.

Restricții și precizări

  • 1 ≤ n ≤ 200
  • pentru fiecare număr x de pe a doua linie a fișierului de intrare este îndeplinită relația 0 ≤ x ≤ 1.000.000
  • minimele cerute vor avea cel puțin două cifre

Exemplul 1:

minimdoua.in

7
12 55 112 322 477 115 7

minimdoua.out

55 322

Exemplul 2:

minimdoua.in

6
12 55 112 3 4774 115 

minimdoua.out

numere insuficiente

Explicație

În fișierul de intrare este doar un singur număr cu proprietatea cerută.

#include <bits/stdc++.h>

using namespace std;

ifstream fin("minimdoua.in");
ofstream fout("minimdoua.out");

int main()
{
    int n, j=0 , cnt=0;
    fin >> n;
    int a[201];
    int v[201];
    for (int i = 0 ; i < n; ++i)
    {
        fin >> a[i];
        if (a[i]%10 == (a[i]/10)%10 && a[i]>9)
        {
            v[j]=a[i];
            j++;
            cnt++;
        }
    }
    sort(v,v+cnt);
    if (cnt>=2)
    fout << v[0] << ' ' << v[1];
    else
    fout << "numere insuficiente";
    
    fin.close();
    fout.close();
    
    return 0;
}
Comentarii

S-ar putea sa iti placa