#include<iostream>
#include<map>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
int t;
cin>>t;
for(int i=0;i<t;i++)
{
bool war=1;
map<int,long long> a;
map<int,long long> b;
int n;
cin>>n;
long long sum1=0,sum2=0;
for(int j=0;j<n;j++)
{
int l,s,d;
cin>>l>>s>>d;
a[s]+=l;
b[d]+=l;
sum1+=l*s;
sum2+=l*d;
}
if(sum1!=sum2)
{
cout<<"NIE"<<endl;
continue;
}
map<int,long long>::iterator a_i=a.begin();
int nad=0;
for(map<int,long long>::iterator b_i=b.begin();b_i!=b.end()&&war;b_i++)
{
while(b_i->second>0&&war)
{
if(a_i->second>b_i->second)
{
nad+=b_i->second*(b_i->first-a_i->first);
a_i->second-=b_i->second;
b_i->second=0;
}
else
{
nad+=a_i->second*(b_i->first-a_i->first);
b_i->second-=a_i->second;
a_i++;
}
if(nad<0){
cout<<"NIE"<<endl;
war=0;
}
//cout<<nad<<" ? ";
}
}
if(war)cout<<"TAK"<<endl;
}
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 | #include<iostream> #include<map> using namespace std; int main() { ios_base::sync_with_stdio(false); int t; cin>>t; for(int i=0;i<t;i++) { bool war=1; map<int,long long> a; map<int,long long> b; int n; cin>>n; long long sum1=0,sum2=0; for(int j=0;j<n;j++) { int l,s,d; cin>>l>>s>>d; a[s]+=l; b[d]+=l; sum1+=l*s; sum2+=l*d; } if(sum1!=sum2) { cout<<"NIE"<<endl; continue; } map<int,long long>::iterator a_i=a.begin(); int nad=0; for(map<int,long long>::iterator b_i=b.begin();b_i!=b.end()&&war;b_i++) { while(b_i->second>0&&war) { if(a_i->second>b_i->second) { nad+=b_i->second*(b_i->first-a_i->first); a_i->second-=b_i->second; b_i->second=0; } else { nad+=a_i->second*(b_i->first-a_i->first); b_i->second-=a_i->second; a_i++; } if(nad<0){ cout<<"NIE"<<endl; war=0; } //cout<<nad<<" ? "; } } if(war)cout<<"TAK"<<endl; } return 0; } |
English