#include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,z; unsigned long long sumad,sumau; int maxt,maxk,mink,mint,maxtsuma,maxksuma,mintsuma,minksuma; pair <pair<int,int>,int> t[100000]; cin>>z; for(int q=0;q<z;++q) { sumad=0; sumau=0; maxtsuma=0; mintsuma=0; maxksuma=0; minksuma=0; maxt=-1; maxk=-1; mint=1000000000; mink=1000000000; cin>>n; for(int i=0;i<n;++i) { cin>>t[i].second>>t[i].first.first>>t[i].first.second; if(t[i].first.first>t[i].first.second) { sumad+=(t[i].first.first-t[i].first.second)*t[i].second; } else { sumau+=(t[i].first.first-t[i].first.second)*t[i].second*-1; } if(t[i].first.first!=t[i].first.second){ if(mink==t[i].first.first) { minksuma+=t[i].second; } else if(mink>t[i].first.first) { mink=t[i].first.first; minksuma=t[i].second; } /// if(mint==t[i].first.second) { mintsuma+=t[i].second; } else if(mint>t[i].first.second) { mint=t[i].first.second; mintsuma=t[i].second; } /// if(maxk==t[i].first.first) { maxksuma+=t[i].second; } else if(maxk<t[i].first.first) { maxk=t[i].first.first; maxksuma=t[i].second; } /// if(maxt==t[i].first.second) { maxtsuma+=t[i].second; } else if(maxt<t[i].first.second) { maxt=t[i].first.second; maxtsuma=t[i].second; }} } if((mink>mint)||(maxt>maxk)) { cout<<"NIE\n"; continue; } if(mink==mint) { if(minksuma>=mintsuma) { } else { cout<<"NIE\n"; continue; } } if(maxk==maxt) { if(maxksuma>=maxtsuma) { } else { cout<<"NIE\n"; continue; } } if(sumad!=sumau) { cout<<"NIE\n"; } else { cout<<"TAK\n"; } } 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 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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,z; unsigned long long sumad,sumau; int maxt,maxk,mink,mint,maxtsuma,maxksuma,mintsuma,minksuma; pair <pair<int,int>,int> t[100000]; cin>>z; for(int q=0;q<z;++q) { sumad=0; sumau=0; maxtsuma=0; mintsuma=0; maxksuma=0; minksuma=0; maxt=-1; maxk=-1; mint=1000000000; mink=1000000000; cin>>n; for(int i=0;i<n;++i) { cin>>t[i].second>>t[i].first.first>>t[i].first.second; if(t[i].first.first>t[i].first.second) { sumad+=(t[i].first.first-t[i].first.second)*t[i].second; } else { sumau+=(t[i].first.first-t[i].first.second)*t[i].second*-1; } if(t[i].first.first!=t[i].first.second){ if(mink==t[i].first.first) { minksuma+=t[i].second; } else if(mink>t[i].first.first) { mink=t[i].first.first; minksuma=t[i].second; } /// if(mint==t[i].first.second) { mintsuma+=t[i].second; } else if(mint>t[i].first.second) { mint=t[i].first.second; mintsuma=t[i].second; } /// if(maxk==t[i].first.first) { maxksuma+=t[i].second; } else if(maxk<t[i].first.first) { maxk=t[i].first.first; maxksuma=t[i].second; } /// if(maxt==t[i].first.second) { maxtsuma+=t[i].second; } else if(maxt<t[i].first.second) { maxt=t[i].first.second; maxtsuma=t[i].second; }} } if((mink>mint)||(maxt>maxk)) { cout<<"NIE\n"; continue; } if(mink==mint) { if(minksuma>=mintsuma) { } else { cout<<"NIE\n"; continue; } } if(maxk==maxt) { if(maxksuma>=maxtsuma) { } else { cout<<"NIE\n"; continue; } } if(sumad!=sumau) { cout<<"NIE\n"; } else { cout<<"TAK\n"; } } return 0; } |