Cod sursa(job #140684)
Utilizator | Florian MOGA moga_florian | Data | 22 februarie 2008 09:46:43 |
---|---|---|---|
Problema | Nivele | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include<stdio.h>
#define Nmax 50010
int st[Nmax];
int main(){
FILE *fin = fopen("nivele.in","r"),
*fout = fopen("nivele.out","w");
int T,N,vf,val;
fscanf(fin,"%d",&T);
while(T--){
fscanf(fin,"%d",&N);
vf = 0;
for(int i=0;i<N;i++){
fscanf(fin,"%d",&val);
st[++vf] = val;
while(vf > 1){
if(st[vf] == st[vf-1]){
vf--;
st[vf] --;
}
else
break;
}
}
if(vf == 1)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
fclose(fin);
fclose(fout);
return 0;
}