import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner; public class Main1 { public static class Child{ int position; int amount; int color; public Child(int position, int amount, int color) { this.position = position; this.amount = amount; this.color = color; } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Child[] childrens = new Child[n]; for (int i = 0;i<n;i++){ childrens[i] = new Child(i,sc.nextInt(),sc.nextInt()); } List<Child> color_1_children_list = new ArrayList<>(); List<Child> color_2_children_list = new ArrayList<>(); for (int i = 0;i<n;i++){ if (childrens[i].color == 1){ color_1_children_list.add(childrens[i]); }else { color_2_children_list.add(childrens[i]); } } color_1_children_list.sort(new Comparator<Child>() { @Override public int compare(Child o1, Child o2) { return o2.amount-o1.amount; } }); color_2_children_list.sort(new Comparator<Child>() { @Override public int compare(Child o1, Child o2) { return o2.amount-o1.amount; } }); int size_1 = color_1_children_list.size(),size_2 = color_2_children_list.size(); if (size_1>=3 && size_2>=3){ int red_amount = 0, blue_amount = 0; for (int i = 0;i<3;i++){ red_amount+=color_1_children_list.get(i).amount; blue_amount+=color_2_children_list.get(i).amount; } if (red_amount>blue_amount){ for (int i = 2;i>=0;i--){ if (i==0){ System.out.println(color_1_children_list.get(i).position+1); continue; } System.out.print(color_1_children_list.get(i).position+1+" "); } System.out.println(1); System.out.println(red_amount); } else if (red_amount == blue_amount){ System.out.println("null"); } else if (red_amount<blue_amount){ for (int i = 2;i>=0;i--){ if (i==0){ System.out.println(color_2_children_list.get(i).position+1); continue; } System.out.print(color_2_children_list.get(i).position+1+" "); } System.out.println(2); System.out.println(blue_amount); } } else if (size_1>=3 && size_2<3){ int red_amount = 0; for (int i = 0;i<3;i++){ red_amount+=color_1_children_list.get(i).amount; } for (int i = 2;i>=0;i--){ if (i==0){ System.out.println(color_1_children_list.get(i).position+1); continue; } System.out.print(color_1_children_list.get(i).position+1+" "); } System.out.println(1); System.out.println(red_amount); } else if (size_1<3 && size_2>=3){ int blue_amount = 0; for (int i = 0;i<3;i++){ blue_amount+=color_2_children_list.get(i).amount; } for (int i = 2;i>=0;i--){ if (i==0){ System.out.println(color_2_children_list.get(i).position+1); continue; } System.out.print(color_2_children_list.get(i).position+1+" "); } System.out.println(2); System.out.println(blue_amount); } else { System.out.println("null"); } } }
全部评论
(2) 回帖