# PBinfo #525 – numere1 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se dau n numere naturale. Determinaţi cele mai mari două numere cu trei cifre care nu apar printre numerele date.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire
Programul va afișa pe ecran numerele a b, a < b reprezentând cele două numere determinate. Dacă nu se pot găsi două astfel de numere, se va afişa mesajul NU EXISTA.

Restricții și precizări

1 ≤ n ≤ 500.000
cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu:
Intrare

10
10 994 1010 999 1010 998 1005 994 996 995 
Ieșire

993 997

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int freq[1001], nr, nr1 = 0, nr2 = 0, temp;
int main() {
    cin >> nr;  
    for (int i = 1; i <= nr; i++) {
        cin >> temp;
        if (temp > 99 && temp < 1000) freq[temp] = 1;
    }
    for (int t = 999; t > 99 && nr1 == 0; t--)
        if (freq[t] == 0)
            if (nr2 == 0) nr2 = t;
            else nr1 = t;
    if (nr1 != 0) cout << nr1 << " " << nr2;
    else cout << "NU EXISTA";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/525)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/525/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-525/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
