# PBinfo #3286 – nrnot – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Fișierul nrnot.in conține pe prima linie un număr natural n (\( n \in [2,10^7]  \)) , 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.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream f("nrnot.in");
ofstream g("nrnot.out");
int main()
{
    int n,x,y,k=1;
    f>>n>>x;
    while(f>>y)
    {
        if(x!=y)
            k++;
        x=y;
    }
    g<<n-k;
    f.close();
    g.close();
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3286)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3286/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3286/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
