#include <bits/stdc++.h> #define fi first #define se second #define ll long long #define ld long double #define pb push_back #define vi vector<int> using namespace std; struct cup { int v, t; }; bool operator<(cup a, cup b) { return a.t > b.t; } struct beaker { ll t; }; bool solve() { int n; vector<cup> A, B; cin >> n; A.resize(n); B.resize(n); int l, a, b; for (int i = 0; i < n; i++) { cin >> l >> a >> b; A[i].v = B[i].v = l; A[i].t = a; B[i].t = b; } sort(A.begin(), A.end()); sort(B.begin(), B.end()); int x, y, step; ll ab, bb; ab = bb = x = y = 0; while (x < n && y < n) { step = min(A[x].v, B[y].v); A[x].v -= step; B[y].v -= step; ab += step * A[x].t; bb += step * B[y].t; if (A[x].v == 0 && x < n) x++; if (B[y].v == 0 && y < n) y++; if (ab < bb) { return false; } } if (ab != bb) return false; return true; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int z; cin >> z; for (int zz = 0; zz < z; zz++) { bool ans = solve(); cout << (ans ? "TAK" : "NIE") << 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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #include <bits/stdc++.h> #define fi first #define se second #define ll long long #define ld long double #define pb push_back #define vi vector<int> using namespace std; struct cup { int v, t; }; bool operator<(cup a, cup b) { return a.t > b.t; } struct beaker { ll t; }; bool solve() { int n; vector<cup> A, B; cin >> n; A.resize(n); B.resize(n); int l, a, b; for (int i = 0; i < n; i++) { cin >> l >> a >> b; A[i].v = B[i].v = l; A[i].t = a; B[i].t = b; } sort(A.begin(), A.end()); sort(B.begin(), B.end()); int x, y, step; ll ab, bb; ab = bb = x = y = 0; while (x < n && y < n) { step = min(A[x].v, B[y].v); A[x].v -= step; B[y].v -= step; ab += step * A[x].t; bb += step * B[y].t; if (A[x].v == 0 && x < n) x++; if (B[y].v == 0 && y < n) y++; if (ab < bb) { return false; } } if (ab != bb) return false; return true; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int z; cin >> z; for (int zz = 0; zz < z; zz++) { bool ans = solve(); cout << (ans ? "TAK" : "NIE") << endl; } return 0; } |