题目: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; }