Cod sursa(job #2024997)
| Utilizator | Data | 21 septembrie 2017 19:04:50 | |
|---|---|---|---|
| Problema | Nivele | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1 kb |
#include <fstream>
using namespace std;
ifstream fin ("nivele.in");
ofstream fout ("nivele.out");
int t, s[100001], k, n;
int main () {
fin >> t;
for (int i = 1; i <= t; i++) {
fin >> n;
int r = 0;
while (true) {
if (k < 2 && r < n) {
fin >> s[++k];
r++;
continue;
}
if (k >= 2 && s[k - 1] == s[k]) {
s[k - 1]--;
s[k] = 0;
k--;
continue;
}
if (r == n) {
if (k == 1 && s[1] == 1) {
fout << "DA\n";
break;
}
if (k >= 2 && s[k - 1] != s[k]) {
fout << "NU\n";
break;
}
}
fin >> s[++k];
r++;
}
for (int i = 1; i <= k; i++)
s[k] = 0;
k = 0;
}
return 0;
}
