#include <bits/stdc++.h> using namespace std; typedef long long int lli; struct her { lli v, t; }; bool operator<(her a, her b) { return a.t < b.t; } vector<her> v1,v2; void NIE() { printf("NIE\n"); } void TAK() { printf("TAK\n"); } void solve() { int n; scanf("%d", &n); lli v,a,b; lli sa = 0, sb = 0; v1.clear(); v2.clear(); for (int i=0; i<n; i++) { scanf("%lld%lld%lld", &v, &a, &b); v1.push_back(her({v,a})); v2.push_back(her({v,b})); sa += v*a; sb += v*b; } if (sa != sb) return NIE(); sort(v1.begin(), v1.end()); sort(v2.begin(), v2.end()); sa = 0; sb = 0; while (!v1.empty()) { auto x1 = v1.back(); v1.pop_back(); auto x2 = v2.back(); v2.pop_back(); lli s = min(x1.v, x2.v); if (x1.v != s) v1.push_back(her({x1.v-s, x1.t})); if (x2.v != s) v2.push_back(her({x2.v-s, x2.t})); sa += s*x1.t; sb += s*x2.t; if (sa < sb) return NIE(); } return TAK(); } int main() { int T; 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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include <bits/stdc++.h> using namespace std; typedef long long int lli; struct her { lli v, t; }; bool operator<(her a, her b) { return a.t < b.t; } vector<her> v1,v2; void NIE() { printf("NIE\n"); } void TAK() { printf("TAK\n"); } void solve() { int n; scanf("%d", &n); lli v,a,b; lli sa = 0, sb = 0; v1.clear(); v2.clear(); for (int i=0; i<n; i++) { scanf("%lld%lld%lld", &v, &a, &b); v1.push_back(her({v,a})); v2.push_back(her({v,b})); sa += v*a; sb += v*b; } if (sa != sb) return NIE(); sort(v1.begin(), v1.end()); sort(v2.begin(), v2.end()); sa = 0; sb = 0; while (!v1.empty()) { auto x1 = v1.back(); v1.pop_back(); auto x2 = v2.back(); v2.pop_back(); lli s = min(x1.v, x2.v); if (x1.v != s) v1.push_back(her({x1.v-s, x1.t})); if (x2.v != s) v2.push_back(her({x2.v-s, x2.t})); sa += s*x1.t; sb += s*x2.t; if (sa < sb) return NIE(); } return TAK(); } int main() { int T; scanf("%d", &T); while (T--) solve(); return 0; } |