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
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;
}
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 !
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă