#include <bits/stdc++.h>
#pragma GCC optimize "03"
using namespace std;
int gh, n, a, b, c;
pair <int, int> t[100001];
pair <int, int> o[100001];
long long nd, x, y;
int main()
{
scanf("%d", &gh);
for(int hg=0; hg<gh; ++hg)
{
scanf("%d", &n);
x=0;
y=0;
for(int i=1; i<=n; ++i)
{
scanf("%d%d%d", &a, &b, &c);
t[i]={b, a};
o[i]={c, a};
x+=(long long)a*b;
y+=(long long)a*c;
}
if(x!=y)
{
printf("NIE\n");
continue;
}
sort(t+1, t+1+n);
sort(o+1, o+1+n);
nd=0;
b=n;
for(int i=n; i; --i)
{
a=o[i].second;
while(a)
{
if(a>=t[b].second)
{
a-=t[b].second;
nd+=(long long)t[b].first*t[b].second;
t[b].second=0;
--b;
}
else
{
nd+=(long long)a*t[b].first;
t[b].second-=a;
a=0;
}
}
if(nd<(long long)o[i].first*o[i].second)
{
printf("NIE\n");
a=-1;
break;
}
nd-=(long long)o[i].first*o[i].second;
}
if(a!=-1)
{
printf("TAK\n");
}
}
}
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 | #include <bits/stdc++.h> #pragma GCC optimize "03" using namespace std; int gh, n, a, b, c; pair <int, int> t[100001]; pair <int, int> o[100001]; long long nd, x, y; int main() { scanf("%d", &gh); for(int hg=0; hg<gh; ++hg) { scanf("%d", &n); x=0; y=0; for(int i=1; i<=n; ++i) { scanf("%d%d%d", &a, &b, &c); t[i]={b, a}; o[i]={c, a}; x+=(long long)a*b; y+=(long long)a*c; } if(x!=y) { printf("NIE\n"); continue; } sort(t+1, t+1+n); sort(o+1, o+1+n); nd=0; b=n; for(int i=n; i; --i) { a=o[i].second; while(a) { if(a>=t[b].second) { a-=t[b].second; nd+=(long long)t[b].first*t[b].second; t[b].second=0; --b; } else { nd+=(long long)a*t[b].first; t[b].second-=a; a=0; } } if(nd<(long long)o[i].first*o[i].second) { printf("NIE\n"); a=-1; break; } nd-=(long long)o[i].first*o[i].second; } if(a!=-1) { printf("TAK\n"); } } } |
English