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; }