#include <bits/stdc++.h> using namespace std; int T, N, l, a, b; vector<pair<int, int>> av, bv; long long al, bl; int ai, bi; void solve() { scanf("%d", &N); av.resize(N); av.clear(); bv.resize(N); bv.clear(); al = bl = 0LL; for (int i = 0; i < N; ++i) { scanf("%d %d %d", &l, &a, &b); av.push_back(make_pair(a, l)); bv.push_back(make_pair(b, l)); al += a * l; bl += b * l; } if (al != bl) { printf("NIE\n"); return; } sort(av.begin(), av.end()); sort(bv.begin(), bv.end()); ai = bi = 0; while (bi < N) { bl -= bv[bi].first * bv[bi].second; while (bv[bi].second > 0) { if (av[ai].second < bv[bi].second) { al -= av[ai].first * av[ai].second; bv[bi].second -= av[ai].second; av[ai].second = 0; ai++; } else { al -= av[ai].first * bv[bi].second; av[ai].second -= bv[bi].second; bv[bi].second = 0; if (av[ai].second == 0) { ai++; } } } if (al < bl) { printf("NIE\n"); return; } bi++; } printf("TAK\n"); } int main() { scanf("%d", &T); while(T--) { solve(); } 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 | #include <bits/stdc++.h> using namespace std; int T, N, l, a, b; vector<pair<int, int>> av, bv; long long al, bl; int ai, bi; void solve() { scanf("%d", &N); av.resize(N); av.clear(); bv.resize(N); bv.clear(); al = bl = 0LL; for (int i = 0; i < N; ++i) { scanf("%d %d %d", &l, &a, &b); av.push_back(make_pair(a, l)); bv.push_back(make_pair(b, l)); al += a * l; bl += b * l; } if (al != bl) { printf("NIE\n"); return; } sort(av.begin(), av.end()); sort(bv.begin(), bv.end()); ai = bi = 0; while (bi < N) { bl -= bv[bi].first * bv[bi].second; while (bv[bi].second > 0) { if (av[ai].second < bv[bi].second) { al -= av[ai].first * av[ai].second; bv[bi].second -= av[ai].second; av[ai].second = 0; ai++; } else { al -= av[ai].first * bv[bi].second; av[ai].second -= bv[bi].second; bv[bi].second = 0; if (av[ai].second == 0) { ai++; } } } if (al < bl) { printf("NIE\n"); return; } bi++; } printf("TAK\n"); } int main() { scanf("%d", &T); while(T--) { solve(); } return 0; } |