Pagini recente » Cod sursa (job #2831174) | Cod sursa (job #735412) | Cod sursa (job #2036260) | Cod sursa (job #2918333) | Cod sursa (job #137343)
Cod sursa(job #137343)
#include <cstdio>
#include <set>
#include <algorithm>
using namespace std;
const char iname[] = "nivele.in";
const char oname[] = "nivele.out";
#define MAXN 50005
#define FOR(i, a, b) for (int i = (a); i < (b); ++ i)
FILE *fi;
multiset <int, greater <int> > myset;
int n;
void read_in(void)
{
int x;
fscanf(fi, "%d", &n);
FOR(i, 0, n)
{
fscanf(fi, "%d", &x);
myset.insert(x);
}
}
int main(void)
{
fi = fopen(iname, "r");
FILE *fo = fopen(oname, "w");
int css;
for (fscanf(fi, "%d", &css); css > 0; -- css)
{
myset.clear();
read_in();
bool sol = true;
FOR(i, 1, n)
{
int x = *myset.begin();
myset.erase(myset.begin());
int y = *myset.begin();
myset.erase(myset.begin());
if (x == y)
myset.insert(x - 1);
else {
sol = false;
break ;
}
}
if (sol)
fprintf(fo, "DA\n");
else
fprintf(fo, "NU\n");
}
fcloseall();
return 0;
}