Cod sursa(job #2776456)
Utilizator | Data | 19 septembrie 2021 20:58:24 | |
---|---|---|---|
Problema | Nivele | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nivele.in");
ofstream fout("nivele.out");
const int nmax = 50005;
int t, n, v[nmax], p;
bool pot;
void dfs(int nivel){
if (p == n + 1){
pot = false;
return;
}
if (nivel == v[p]){
++p;
}
else{
dfs(nivel + 1);
dfs(nivel + 1);
}
}
int main(){
fin >> t;
while (t--){
fin >> n;
for (int i = 1; i <= n; ++i){
fin >> v[i];
}
pot = true;
p = 1;
dfs(1);
if (pot){
fout << "DA\n";
}
else{
fout << "NU\n";
}
}
fin.close();
fout.close();
return 0;
}