_Complexitatea optimă a acestei probleme folosește O(N) timp de execuție și O(1) memorie suplimentară, la care se adaugă O(N) memorie - timpul necesar reținerii datelor de intrare._
Se dă un număr $N$ și $N$ numere naturale. Să se verifice dacă cele $N$ numere sunt cuprinse între $1$ și $N$ și sunt distincte două câte două.
_Testele acestei probleme sunt inca in curs de perfectionare._
Se dă un număr $N$ și $N$ numere naturale. Să se verifice dacă cele $N$ numere sunt cuprinse între $1$ și $N$ și sunt distincte două câte două. Altfel spus, să se verifice dacă în fișier sunt toate numerele de la $1$ la [$N$].
h2. Date de intrare
Fișierul de intrare $nnr.in$ conține pe prima linie numărul natural [$N$]. Pe următoarele $N$ linii se găseste câte un număr natural din cele [$N$].
Fișierul de intrare $nnr.in$ conține pe prima linie numărul natural [$T$], reprezentând numărul de teste. Pentru fiecare test, pe prima linie se va afla numărul [$N$], iar pe următoarele $N$ linii se va găsi câte un număr natural din cele [$N$].
h2. Date de ieșire
Fișierul de ieșire $nnr.out$ conține o singură linie, pe care se va afla [$DA$], dacă cele $N$ numere respectă proprietatea cerută, $NU$ altfel.
Fișierul de ieșire $nnr.out$ conține $T$ linii, pe fiecare linie $i$ aflându-se [$DA$], dacă cele $N$ numere din testul $i$ respectă proprietatea cerută, $NU$ altfel.
h2. Restricții
* $1 ≤ N ≤ 2.000.000$
* $1 ≤ T ≤ 3$
* $1 ≤ N ≤ 1.000.000$
* $1 ≤ X ≤ 1.000.000.000, unde X este element al șirului celor N numere.$
h2. Exemplu
table(example).
|_. nnr.in |_. nnr.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
| 2
3
1
3
2
5
1
5
3
2
5
| DA
NU
|
== include(page="template/taskfooter" task_id="nnr") ==