Cerința
Fișierul de intrare conține cel mult 1.000.000
de numere întregi. Se cere să se afișeze în fișierul de ieșire cel mai mic număr din intervalul [-100,100]
care nu apare în fișierul de intrare.
Dacă nu există un astfel de număr se va afișa mesajul nu exista
.
Date de intrare
Fișierul de intrare nrlipsa2.in
conține cel mult 1.000.000
de numere întregi, separate prin câte un spațiu, dispuse pe mai multe linii.
Date de ieșire
Fișierul de ieșire nrlipsa2.out
va conține pe prima linie valoarea cerută, sau mesajul nu exista
.
Restricții și precizări
- numerele din fișierul de intrare vor fi din intervalul
[-1.000.000, 1.000.000]
Exemplu
nrlipsa2.in
80 -190 -149 165 -58 150 -8 -100 -99 65
nrlipsa2.out
-98
#include <bits/stdc++.h> using namespace std; ifstream fin("nrlipsa2.in"); ofstream fout("nrlipsa2.out"); int main() { int f[150]={0} , v[150]={0}; int x; int ok=0; while(fin >> x) { if(x<0 && x>=-100) f[x*(-1)]++; else if(x<=100 && x>=0) v[x]++; } for(int i = 100 ; i > 0 ; --i) { if(f[i]==0) { fout <<i*(-1); ok++; break; } } if(ok==0) { for(int i = 0 ; i <= 100 ; i++) { if(v[i]==0) { fout << i; ok++; break; } } } if(ok==0) fout << "nu exista"; return 0; }