Cod sursa(job #163113)

Utilizator alecmanAchim Ioan Alexandru alecman Data 21 martie 2008 14:22:32
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>

#define INPUT "nivele.in"
#define OUTPUT "nivele.out"
#define NMax 50001

FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");

long N;
long a[ NMax ];

int solveFunction();

int main()
{
  int T;

  fscanf(fin, "%d", &T);

  for(int i = 1; i <= T; ++i)
    if(solveFunction())
      fprintf(fout, "DA\n");
    else
      fprintf(fout, "NU\n");

  fclose(fin);
  fclose(fout);

  return 0;
}

int solveFunction()
{
  long cont;

  fscanf(fin, "%ld", &N);

  cont = -1;

  for(long i = 0; i < N; ++i)
  {
    fscanf(fin, "%ld", &a[ ++cont ]);

    while(a[ cont ] == a[ cont - 1 ] && cont > 0)
    {
      --a[ cont - 1 ];
      --cont;
    }
  }

  if(cont == 0 && a[ cont ] == 1)
    return 1;

  return 0;
}