#include <bits/stdc++.h>
using namespace std;
void solve()
{
int n,n0=0,sum1=0,sum2=0,najw=0;
cin>>n;
vector<int> V(n),V1,V2;
bool flag = 0;
bool koniec = 0;
for(int & a : V)
{
cin>>a;
sum1+=a;
if(a > 0)
{
flag = true;
n0++;
}
if(flag && a == 0)
koniec = true;
if(flag && !koniec)
{
sum2+=a;
najw=max(najw,a);
V1.push_back(a);
}
}
if(sum1!=sum2)
{
cout<<"NIE\n";
return;
}
if(n0==1)
{
if(najw == 1)
cout<<"TAK\n";
else
cout<<"NIE\n";
return;
}
V2=V1;
int ons = 0;
flag = true;
for(int i = 0; i <V1.size(); i ++)
{
V1[i]-=ons;
if(V1[i]< 0)
flag = false;
if(V1[i] == 0 && i <V1.size()-1)
flag = false;
ons = V1[i] - 1;
}
if(flag && (ons== -1 || ons == 0))
{
cout<<"TAK\n";
return;
}
V2[1]--;
ons = 0;
flag = true;
for(int i = 0; i <V2.size(); i ++)
{
V2[i]-=ons;
if(V2[i]< 0)
flag = false;
if(V2[i] == 0 && i <V2.size()-1)
flag = false;
ons = V2[i] - 1;
}
if(flag && (ons== -1 || ons == 0))
{
cout<<"TAK\n";
return;
}
cout<<"NIE\n";
return;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int z;
cin>>z;
while(z--)
solve();
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | #include <bits/stdc++.h> using namespace std; void solve() { int n,n0=0,sum1=0,sum2=0,najw=0; cin>>n; vector<int> V(n),V1,V2; bool flag = 0; bool koniec = 0; for(int & a : V) { cin>>a; sum1+=a; if(a > 0) { flag = true; n0++; } if(flag && a == 0) koniec = true; if(flag && !koniec) { sum2+=a; najw=max(najw,a); V1.push_back(a); } } if(sum1!=sum2) { cout<<"NIE\n"; return; } if(n0==1) { if(najw == 1) cout<<"TAK\n"; else cout<<"NIE\n"; return; } V2=V1; int ons = 0; flag = true; for(int i = 0; i <V1.size(); i ++) { V1[i]-=ons; if(V1[i]< 0) flag = false; if(V1[i] == 0 && i <V1.size()-1) flag = false; ons = V1[i] - 1; } if(flag && (ons== -1 || ons == 0)) { cout<<"TAK\n"; return; } V2[1]--; ons = 0; flag = true; for(int i = 0; i <V2.size(); i ++) { V2[i]-=ons; if(V2[i]< 0) flag = false; if(V2[i] == 0 && i <V2.size()-1) flag = false; ons = V2[i] - 1; } if(flag && (ons== -1 || ons == 0)) { cout<<"TAK\n"; return; } cout<<"NIE\n"; return; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int z; cin>>z; while(z--) solve(); } |
English