Cod sursa(job #398594)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 18 februarie 2010 23:41:11
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#define Nmax 50005

int t, n, niv, stiva[Nmax], i, j, k, vf, ok;

int main(){
	
	FILE * f = fopen ("nivele.in", "r");
	FILE * g = fopen ("nivele.out", "w");
	
	fscanf (f, "%d", &t);
	for (i = 1 ; i <= t ; i++){
		
		fscanf(f, "%d", &n);
		vf = 0;
		
		for (j = 1 ; j <= n ; j++){
			
			fscanf(f, "%d", &niv);
			
			ok = 1;
			
			if (niv == stiva[vf]){
				ok = 0;
				stiva[++vf] = niv;
				while (stiva[vf] == stiva[vf-1] && stiva[vf] > 1){
					vf --;
					stiva[vf] -= 1;
				}
			}
			if (niv != stiva[vf] && ok)
				stiva[++vf] = niv;
			
			
			
		}
		
		if (stiva[vf] == 1)
			fprintf(g, "DA\n");
		else 
			fprintf(g, "NU\n");
	}
	
	
	fclose(g);
	fclose(f);
	return 0;
}