题目:Shooting Game
来源:东华大学2020年程序设计竞赛(同步赛)
解题思路
一共有 n 个参赛者,其ID为 id,射中红色、白色和黑色靶子的次数分别为 r、w 和 b。
每射中红色、白色和黑色靶子计分 1、2、3。
求得分最高者的ID和得分。
C++代码
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int N;
scanf("%d", &N);
int maxPoints = 0;
int id, r, w, b;
vector<int> winners;
for(int i=0; i<N; ++i){
scanf("%d%d%d%d", &id, &r, &w, &b);
int p = r + 2*w + 3*b;
if(p > maxPoints){
winners.clear();
winners.push_back(id);
maxPoints = p;
}
else if(p == maxPoints){
winners.push_back(id);
}
}
sort(winners.begin(), winners.end());
printf("%d %d\n", winners[0], maxPoints);
return 0;
}
京公网安备 11010502036488号