#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(); } |