#70分求助

P1093 [NOIP2007 普及组] 奖学金

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

则按输出错误处理,不能得分。


|