题目描述:为了统计技术最强的学校
输入:
第一行输入参赛学校个数N
接下来N行以空格输入:学校编号 得分
输出:
以空格隔开输出得分最高的学校及得分。
示例:
输入:
3
1 2
3 4
1 3
输出:
1 5
代码
num = int(input())
scores = [0 for _ in range(100001)]
for i in range(num):
b, g = input().split(' ')
bi = int(b)
gi = int(g)
scores[bi] +=gi
print(scores.index(max(scores)),max(scores))
c/c++版本
#include<cstdio>
const int maxn = 100010;
int school[maxn] = {0};
int main(){
int n, schID, score;
scanf("%d",&n);
for (int i=0; i<n; i++){
scanf("%d%d",&schID,&score); //学校ID,分数
school[schID] +=score; //学校schID的总分增加score
}
int k=1, MAX = -1; //最高分学校的ID及其总分
for (int i=1; i<=n; i++){
if (school[i] > MAX){
MAX = school[i];
k = i;
}
}
printf("%d %d\n",k,MAX);
return 0;
}