import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
/**
* @author: Wojciech Krzaczek (wojciech.krzaczek@nsn.com)
*/
public class boh {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final int numberOfMonsters = scanner.nextInt();
int health = scanner.nextInt();
List<int[]> monsters = new ArrayList<int[]>();
List<Integer> results = new ArrayList<>();
for (int i = 0; i < numberOfMonsters; i++) {
final int dmg = scanner.nextInt();
final int potion = scanner.nextInt();
int[] monster = { i + 1, (potion - (dmg + 1)) * 1000 / (dmg + 1), dmg, potion };
monsters.add(monster);
}
boh bohater = new boh();
Collections.sort(monsters, bohater.new monsterComparator());
while (!monsters.isEmpty()) {
boolean found = false;
for (int i = 0; i < monsters.size(); i++) {
if (health - monsters.get(i)[2] > 0) {
int[] monster = monsters.remove(i);
found = true;
health -= monster[2];
health += monster[3];
results.add(monster[0]);
break;
}
}
if (found) {
continue;
}
System.out.println("NIE");
return;
}
print(results);
}
private static void print(List<Integer> results) {
System.out.println("TAK");
String resultText = "";
for (Integer result : results) {
resultText += result + " ";
}
System.out.println(resultText.trim());
}
private class monsterComparator implements Comparator<int[]> {
@Override
public int compare(int[] monster1, int[] monster2) {
return monster1[1] < monster2[1] ? 1 : -1;
}
}
}
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 | import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Scanner; /** * @author: Wojciech Krzaczek (wojciech.krzaczek@nsn.com) */ public class boh { @SuppressWarnings("resource") public static void main(String[] args) { Scanner scanner = new Scanner(System.in); final int numberOfMonsters = scanner.nextInt(); int health = scanner.nextInt(); List<int[]> monsters = new ArrayList<int[]>(); List<Integer> results = new ArrayList<>(); for (int i = 0; i < numberOfMonsters; i++) { final int dmg = scanner.nextInt(); final int potion = scanner.nextInt(); int[] monster = { i + 1, (potion - (dmg + 1)) * 1000 / (dmg + 1), dmg, potion }; monsters.add(monster); } boh bohater = new boh(); Collections.sort(monsters, bohater.new monsterComparator()); while (!monsters.isEmpty()) { boolean found = false; for (int i = 0; i < monsters.size(); i++) { if (health - monsters.get(i)[2] > 0) { int[] monster = monsters.remove(i); found = true; health -= monster[2]; health += monster[3]; results.add(monster[0]); break; } } if (found) { continue; } System.out.println("NIE"); return; } print(results); } private static void print(List<Integer> results) { System.out.println("TAK"); String resultText = ""; for (Integer result : results) { resultText += result + " "; } System.out.println(resultText.trim()); } private class monsterComparator implements Comparator<int[]> { @Override public int compare(int[] monster1, int[] monster2) { return monster1[1] < monster2[1] ? 1 : -1; } } } |
English