Pagini recente » Cod sursa (job #1630797) | Cod sursa (job #2314746) | Cod sursa (job #2613366) | Cod sursa (job #804147) | Cod sursa (job #476657)
Cod sursa(job #476657)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int a[50010], s[50010];
int main(){
ifstream f("nivele.in");
ofstream g("nivele.out");
int n, t, i, j, k, x, cod, vf;
f>>t;
for (k = 1; k <= t; k++){
f>>n;
for (i = 1; i <= n; i++)
f>>a[i];
cod = 1;
if (a[1] == 1)
if (n == 1)
g<<"DA"<<'\n';
else {
g<<"NU"<<'\n';
continue;
}
else {
vf = 1;
s[vf] = a[1];
for (i = 2; i <= n; i++){
if (a[i] == 1)
cod = 0;
else {
if (a[i] == s[vf]){
s[vf] = s[vf] - 1;
while (vf >= 2 && s[vf] == s[vf-1]){
vf--;
s[vf] = s[vf]-1;
}
}
else {
vf++;
s[vf] = a[i];
}
}
}
}
if (cod == 1 && vf == 1 && s[vf] == 1)
g<<"DA"<<'\n';
else
g<<"NU"<<'\n';
}
return 0;
}