#include <bits/stdc++.h>
#define ST first
#define ND second
#define int long long
using namespace std;
int te, n, a, b, c, idx, zle, jest, mam, zostalo;
pair <int, int> teraz[100005], wynik[100005];
main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>te;
while(te--)
{
cin>>n;
for(int i = 1; i <= n; i++)
{
cin>>a>>b>>c;
teraz[i] = {b, a};
wynik[i] = {c, a};
}
sort(teraz+1, teraz+n+1);
sort(wynik+1, wynik+n+1);
idx = 1;
jest = mam = 0;
for(int i = 1; i <= n; i++)
{
a = wynik[i].ND;
b = wynik[i].ST;
mam += a * b;
zostalo = a;
while(zostalo > 0)
{
if (teraz[idx].ND <= 0)
idx++;
if(teraz[idx].ND >= zostalo)
jest += zostalo * teraz[idx].ST, teraz[idx].ND -= zostalo, zostalo = 0;
else
jest += teraz[idx].ND * teraz[idx].ST, zostalo -= teraz[idx].ND, teraz[idx].ND = 0;
if(idx >= n+1)
zle = 1;
}
if(jest > mam && i != n)
zle = 1;
if (jest != mam && i == n)
zle = 1;
}
if(zle) cout<<"NIE"<<endl;
else cout<<"TAK"<<endl;
zle = 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 | #include <bits/stdc++.h> #define ST first #define ND second #define int long long using namespace std; int te, n, a, b, c, idx, zle, jest, mam, zostalo; pair <int, int> teraz[100005], wynik[100005]; main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>te; while(te--) { cin>>n; for(int i = 1; i <= n; i++) { cin>>a>>b>>c; teraz[i] = {b, a}; wynik[i] = {c, a}; } sort(teraz+1, teraz+n+1); sort(wynik+1, wynik+n+1); idx = 1; jest = mam = 0; for(int i = 1; i <= n; i++) { a = wynik[i].ND; b = wynik[i].ST; mam += a * b; zostalo = a; while(zostalo > 0) { if (teraz[idx].ND <= 0) idx++; if(teraz[idx].ND >= zostalo) jest += zostalo * teraz[idx].ST, teraz[idx].ND -= zostalo, zostalo = 0; else jest += teraz[idx].ND * teraz[idx].ST, zostalo -= teraz[idx].ND, teraz[idx].ND = 0; if(idx >= n+1) zle = 1; } if(jest > mam && i != n) zle = 1; if (jest != mam && i == n) zle = 1; } if(zle) cout<<"NIE"<<endl; else cout<<"TAK"<<endl; zle = 0; } } |
English