Cod sursa(job #137416)

Utilizator alle_forever13Alexandra Retegan alle_forever13 Data 17 februarie 2008 12:02:49
Problema Nivele Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasele 11-12 Marime 0.75 kb
#include<stdio.h>

#define input "nivele.in"
#define output "nivele.out"

#define dim 1001

int verif(int n);

int t, a[dim], pq[dim], aux[dim];

int main()
{
	FILE *in, *out;

	in = fopen (input, "r");
	out = fopen (output, "w");

	fscanf(in, "%d", &t);

	int i, j, x;

	for(i=1; i<=t; i++)
	{
		fscanf(in, "%d", &x);

		for(j=1; j<=x; j++)

			fscanf(in, "%d", &a[j]);

		if(verif(x))

			fprintf(out, "DA\n");

		else

			fprintf(out, "NU\n");


	}

	return 0;

}

int verif(int n)
{
	int i, max=0;

	for(i=1; i<=n; i++)
	{
		aux[a[i]]++;

		if(a[i]>max)

			max = a[i];
	}

	pq[1]=1;

	for(i=2; i<=max; i++)

		pq[i] = aux[i-1]*2-aux[i];

	if(pq[max]==0)

		return 1;

	return 0;

}