0
点赞
收藏
分享

微信扫一扫

1032 挖掘机技术哪家强(附详细注释,逻辑分析)


写在前面

  • 一维数组封装搞定
  • maxID=0, maxScore=0 通过比较迭代更新最大学校成绩、最大学校编号
  • 题目无难度,10分钟秒题(略长)
  • 思考实现方式耗费些时间

测试用例

input:
6
3 65
2 80
1 100
2 70
3 40
3 0
output:
2 150

ac代码

#include <iostream>
using namespace std;
int main ()
{
int n, id=0, score=0,maxID=0, maxScore=0;
scanf("%d", &n);
if(n>0)
{
int ins[n] = {0};
for(int i=0; i<n; i++)
{
scanf("%d %d", &id, &score);
ins[id] += score;
if(maxScore<ins[id])
{
maxID = id;
maxScore = ins[id];
}
}
printf("%d %d", maxID, maxScore);
}
return 0;
}

学习代码

  • vector容器封装数据
  • 循环1存储数据,循环2遍历数据
  • 略显冗长

#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> a(N + 1);
int num, score;
for (int i = 0; i < N; i++) {
cin >> num >> score;
a[num] += score;
}
int max = a[1], t = 1;
for (int i = 2; i <= N; i++) {
if (max < a[i]) {
max = a[i];
t = i;
}
}
cout << t << " " << max;
return 0;
}


举报

相关推荐

0 条评论