zhang2026 @ 2022-07-06 14:08:48
不知道为什么错了
#include<bits/stdc++.h>
using namespace std;
long long int n,a,b,c,s[100050],f[100050],w[100050],num=1,cnt=1;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d%d",&a,&b,&c);
s[i]=a+b+c;
f[i]=a+b+c;
}
sort(s+1,s+n+1);
reverse(s+1,s+n+1);
for(int j=1;j<=n;j++)
{
for(int i=1;i<=n;i++)
{
if(s[cnt]==f[i])
{
w[cnt]=i;
cnt++;
}
}
}
for(int i=1;i<=5;i++)
{
cout<<w[i]<<" "<<s[i]<<endl;
}
}
by zhang2026 @ 2022-07-06 15:01:13
真的不知道哪错了
by Modi_Portal @ 2022-07-07 10:14:09
可能是因为你没判断谁的单科分数高
题目:这两行数据的含义是:总分最高的两个同学的学号依次是77号、55号。这两名同学的总分都是 279279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为77的学生语文成绩更高一些。如果你的前两名的输出数据是:
55 279279 77 279279
则按输出错误处理,不能得分。