输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号、及其比赛成绩(百分制),中间以空格分隔。
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
6<br/>3 65<br/>2 80<br/>1 100<br/>2 70<br/>3 40<br/>3 0
2 150
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N=in.nextInt(); int[] hash=new int[100001]; int max=0; for(int i=0; i<N; ++i){ int index=in.nextInt(); //获取序号 int number=in.nextInt();//获取分数 hash[index]+=number; //记录最大下标,以减少遍历次数 if(hash[max] < hash[index]){ max=index; } } System.out.print(max+" "+hash[max]); } }
import java.util.*; public class Main{ public static void main(String [] args){ Scanner sc = new Scanner(System.in); int a = 0,b = 0, id = 0, max = 0; int n = sc.nextInt(); HashMap<Integer,Integer> map = new HashMap<Integer, Integer>(); for(int i = 0; i < n ; i++){ a = sc.nextInt(); b = sc. nextInt(); if(map.containsKey(a)) b = map.get(a) + b; map.put(a, b); if(max < b){ max = b; id = a; } } System.out.println(id + " " +max); } }
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int []num=new int[100001]; int max=0; int k=0; int a=0; for(int i=0;i<n;i++) { a=in.nextInt(); num[a]+=in.nextInt(); } for(int i=1;i<100001;i++) { if(num[i]>max) { max=num[i]; k=i; } } if(max>0) System.out.println(k+" "+max); else { System.out.println(a+" 0"); } } }
import java.util.Scanner; import java.util.TreeMap; import java.util.Map.Entry; import java.util.Map; import java.util.List; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ Map<Integer,Integer> map = new TreeMap<>(); int n = sc.nextInt(); for(int i =0;i<n;i++){ int key = sc.nextInt(); int value = sc.nextInt(); if(map.containsKey(key)){ map.put(key,map.get(key)+value); }else{ map.put(key,value); } } List<Map.Entry<Integer,Integer>> lt = new ArrayList(map.entrySet()); Collections.sort(lt,new Comparator<Map.Entry<Integer,Integer>>(){ public int compare(Entry<Integer,Integer> cp1,Entry<Integer,Integer> cp2){ if(cp1.getValue() > cp2.getValue()){ return -1; } return 1; } }); System.out.println(lt.get(0).getKey()+" "+lt.get(0).getValue()); } } }