Informatică, întrebare adresată de bubu1374, 9 ani în urmă

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

Răspunsuri la întrebare

Răspuns de KindaBored
17
#include <iostream>
using namespace std;
int i,n,v[1001],x,x1,ok;
int main()
{
cin>>n;
for (i=1;i<=n;i++)
{
    cin>>x;
    if (x<1000)
        v[x]=1;
}
x=0;
x1=0; ok=0;
    for (i=999;i>=100 && !ok;i--)
    {
        if (v[i]==0 && !x)
            x=i;
        else
            if (v[i]==0 && x)
            {
                    ok=1;
                x1=i;
            }
    }
    if (!x || !x1)
        cout<<"NU EXISTA";
    else
        cout<<x1<<" "<<x;
    return 0;
}



bubu1374: multumesc !
KindaBored: Nu ai pentru ce. Daca mai ai nevoie de ajutor, nu ezita!
bubu1374: profa nu face nimic in clasă și mă bagă in ceață :)))))
KindaBored: As spune sa te bucuri cu ce ai, eu unul as accepta in orice moment schimb.
bubu1374: o dau pe gratis , pana si problemele facute in clasa sunt gresite si trebuie sa le corectez
Alte întrebări interesante