Pagini recente » Cod sursa (job #1107220) | Cod sursa (job #1477878) | Cod sursa (job #1356229) | Cod sursa (job #2274315) | Cod sursa (job #1889674)
#include <bits/stdc++.h>
using namespace std;
bool dfs(int*& st, int *dr, const int depth = 1){
return (st == dr || *st > 1e5) ? false :
(depth < *st) ? (dfs(st, dr, depth+1) && (st!=dr) && dfs(st, dr, depth+1)) :
(depth == *st) ? (bool)++st :
false; }
constexpr int maxn = 5e4 + 10;
int buf[maxn] = {}, *p = buf;
ifstream f("nivele.in");
ofstream g("nivele.out");
int main(){
int t;
f >> t;
while(t--){
int n;
f >> n;
copy_n(istream_iterator<int>(f), n, buf);
g << (dfs(p=buf, p+n) ? "DA" : "NU") << '\n'; }
return 0; }