多关键字排序,注意题意语文分数的特殊判断,其他的把该存的东西存下来排个序输出前五个就可以了
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct qwq{
ll x,id,y;
}a[400];
bool cmp(qwq x,qwq y)
{
if(x.x==y.x)
{
if(x.y==y.y)return x.id<y.id;
return x.y>y.y;
}
else return x.x>y.x;
}
ll n,x,y,z;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x>>y>>z;
a[i].y=x;
a[i].id=i;
a[i].x=x+y+z;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=5;i++)cout<<a[i].id<<" "<<a[i].x<<endl;
}