#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
struct Monster {
Monster(int id, int gain, int health, int poison) : Id(id), Gain(gain), Health(health), Poison(poison) {}
int Id;
int Gain;
int Health;
int Poison;
inline bool operator<(const Monster &m) const {
if( Gain > 0 && m.Gain > 0 )
return Poison < m.Poison;
else if( Gain <= 0 && m.Gain <= 0 )
return Health > m.Health;
else if( Gain > m.Gain )
return true;
return false;
}
};
typedef vector<Monster>::iterator monsterIter;
int main()
{
int n, z, p, h;
long long sum;
vector<Monster> Monsters;
scanf("%d%d", &n, &z);
sum = z;
for(int i=1;i<=n;++i) {
scanf("%d%d", &p, &h);
sum += (h - p);
Monsters.push_back(Monster(i, h-p, h, p));
}
if( sum <= 0 ) {
puts("NIE");
} else {
puts("TAK");
sort(Monsters.begin(), Monsters.end());
for(monsterIter iter = Monsters.begin(); iter != Monsters.end(); ++iter) {
printf("%d ", (*iter).Id);
}
puts("");
}
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 | #include <cstdio> #include <vector> #include <algorithm> using namespace std; struct Monster { Monster(int id, int gain, int health, int poison) : Id(id), Gain(gain), Health(health), Poison(poison) {} int Id; int Gain; int Health; int Poison; inline bool operator<(const Monster &m) const { if( Gain > 0 && m.Gain > 0 ) return Poison < m.Poison; else if( Gain <= 0 && m.Gain <= 0 ) return Health > m.Health; else if( Gain > m.Gain ) return true; return false; } }; typedef vector<Monster>::iterator monsterIter; int main() { int n, z, p, h; long long sum; vector<Monster> Monsters; scanf("%d%d", &n, &z); sum = z; for(int i=1;i<=n;++i) { scanf("%d%d", &p, &h); sum += (h - p); Monsters.push_back(Monster(i, h-p, h, p)); } if( sum <= 0 ) { puts("NIE"); } else { puts("TAK"); sort(Monsters.begin(), Monsters.end()); for(monsterIter iter = Monsters.begin(); iter != Monsters.end(); ++iter) { printf("%d ", (*iter).Id); } puts(""); } return 0; } |
English