#include <bits/stdc++.h> using namespace std; long long tab[1000000]; int main(){ ios_base::sync_with_stdio(0); int n,k; cin>>n; for(int i=0;i<n;i++){ cin>>k; bool q=0; int l,a,b,max=0,min=1000000; for(int j=0;j<k;j++){ cin>>l>>a>>b; tab[a-1]=tab[a-1]+l; tab[b-1]=tab[b-1]-l; if(a>max){ max=a; } if(b>max){ max=b; } if(a<min){ min=a; } if(b<min){ min=b; } } if(tab[min-1]<0 || tab[max-1]<0){ q=1; } for(int j=min-1;j<max-2;j++){ tab[j+1]=tab[j+1]+2*tab[j]; tab[j+2]=tab[j+2]-tab[j]; tab[j]=0; } for(int j=min-1;j<max;j++){ if(tab[j]!=0){ q=1; } tab[j]=0; } if(q==0){ cout<<"TAK"<<endl; } else{ cout<<"NIE"<<endl; } q=0; } return 0; }
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 | #include <bits/stdc++.h> using namespace std; long long tab[1000000]; int main(){ ios_base::sync_with_stdio(0); int n,k; cin>>n; for(int i=0;i<n;i++){ cin>>k; bool q=0; int l,a,b,max=0,min=1000000; for(int j=0;j<k;j++){ cin>>l>>a>>b; tab[a-1]=tab[a-1]+l; tab[b-1]=tab[b-1]-l; if(a>max){ max=a; } if(b>max){ max=b; } if(a<min){ min=a; } if(b<min){ min=b; } } if(tab[min-1]<0 || tab[max-1]<0){ q=1; } for(int j=min-1;j<max-2;j++){ tab[j+1]=tab[j+1]+2*tab[j]; tab[j+2]=tab[j+2]-tab[j]; tab[j]=0; } for(int j=min-1;j<max;j++){ if(tab[j]!=0){ q=1; } tab[j]=0; } if(q==0){ cout<<"TAK"<<endl; } else{ cout<<"NIE"<<endl; } q=0; } return 0; } |