#include <cstdio> #include <algorithm> #include <utility> using namespace std; int main(){ long long int n, z; scanf("%I64d%I64d", &n, &z); long long int suma=z; pair<pair<long long int,long long int>, long long int> t[n+5LL]; for(long long int i=1LL;i<=n;i++){ long long int a,b; scanf("%I64d%I64d", &a, &b); t[i].first.first=b-a; t[i].first.second=a; t[i].second=i; suma+=b-a; } /*for(int i=1;i<=n;i++){ printf("%I64d %I64d %I64d\n", t[i].first.first, t[i].first.second, t[i].second); }*/ sort(t+1LL, t+n); /*for(int i=1;i<=n;i++){ printf("%I64d %I64d %I64d\n", t[i].first.first, t[i].first.second, t[i].second); }*/ long long int life=z; if(suma>0LL){ printf("TAK\n"); for(long long int i=0LL;i<n;i++){ for(long long int j=n;j>0LL;j--){ if(t[j].first.second<=life){ life+=t[j].first.first; printf("%I64d ", t[j].second); t[j].first.second=1000000000000000000LL; break; } } } return 0; } printf("NIE"); 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 | #include <cstdio> #include <algorithm> #include <utility> using namespace std; int main(){ long long int n, z; scanf("%I64d%I64d", &n, &z); long long int suma=z; pair<pair<long long int,long long int>, long long int> t[n+5LL]; for(long long int i=1LL;i<=n;i++){ long long int a,b; scanf("%I64d%I64d", &a, &b); t[i].first.first=b-a; t[i].first.second=a; t[i].second=i; suma+=b-a; } /*for(int i=1;i<=n;i++){ printf("%I64d %I64d %I64d\n", t[i].first.first, t[i].first.second, t[i].second); }*/ sort(t+1LL, t+n); /*for(int i=1;i<=n;i++){ printf("%I64d %I64d %I64d\n", t[i].first.first, t[i].first.second, t[i].second); }*/ long long int life=z; if(suma>0LL){ printf("TAK\n"); for(long long int i=0LL;i<n;i++){ for(long long int j=n;j>0LL;j--){ if(t[j].first.second<=life){ life+=t[j].first.first; printf("%I64d ", t[j].second); t[j].first.second=1000000000000000000LL; break; } } } return 0; } printf("NIE"); return 0; } |