Pagini recente » Cod sursa (job #445112) | Cod sursa (job #3150898) | Statistici Chesa Matei (berindei) | Cod sursa (job #169544) | Cod sursa (job #137787)
Cod sursa(job #137787)
#include <cstdio>
#include <vector>
using namespace std;
const int MAX_N = 50005;
int N, level[MAX_N];
vector <int> v;
bool solve()
{
v.clear();
if(level[0]>N)
return false;
for(int i=1; i<level[0]; ++i)
v.push_back(i);
for(int i=1; i<N; ++i)
{
if(level[i]>N)
return false;
if(v.empty())
return false;
int tmp=v.back();
v.pop_back();
if(tmp>=level[i])
return false;
for(int j=tmp+1; j<level[i]; ++j)
v.push_back(j);
}
return v.empty();
}
int main()
{
freopen("nivele.in", "r", stdin);
freopen("nivele.out", "w", stdout);
int T;
for(scanf("%d", &T); T>0; --T)
{
scanf("%d", &N);
for(int i=0; i<N; ++i)
scanf("%d", &level[i]);
printf("%s\n", solve()==true ? "DA" : "NU");
}
return 0;
}