354
Cerința
Fișierul nrnot.in conține pe prima linie un număr natural n (n∈[2,107]) , iar pe următoarele linii un șir de cel mult 1000 numere naturale din intervalul [1,n]. Numerele sunt ordonate descrescător și sunt separate prin câte un spațiu. Se cere să se determine numărul valorilor naturale distincte din intervalul [1,n] care NU se găsesc în șir.
Date de intrare
Fișierul de intrare nrnot.in conține pe prima linie numărul n, iar pe următoarele linii numere naturale separate prin spații.
Date de ieșire
Fișierul de ieșire nrnot.out va conține pe prima linie numărul k, reprezentând numărul de valori naturale distincte din intervalul [1,n] care nu se găsesc în șir.
Restricții și precizări
2 ≤ n ≤ 10.000.000- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
10.000.000 - se recomandă evitarea memorării numerelor date într-un tablou sau în altă structură similară!
Exemplu
nrnot.in
10 8 8 8 5 3 3
nrnot.out
7
Explicație
În fișierul de intrare nu se găsesc valorile 10 9 7 6 4 2 1.
#include <bits/stdc++.h>
using namespace std;
ifstream cin("nrnot.in");
ofstream cout("nrnot.out");
int main(){
int x, n, cnt = 0, val;
cin >> n;
while(cin >> x){
if(x < n)
cnt += n - x;
n = x - 1;
val = x;
}
cnt += val - 1;
cout << cnt;
return 0;
}
Comentarii