Enderturtle @ 2017-10-23 17:39:24
代码如下:
#include <bits/stdc++.h>
using namespace std;
struct N
{
int num,id,y;
};
bool cmp(N a1, N a2)
{
if(a1.num==a2.num) return a1.y>a2.y;
return a1.num>a2.num;
}
N a[301];
int main()
{
int m,x,y;
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>a[i].y>>x>>y;
a[i].num=a[i].y+x+y;
a[i].id=i;
}
sort(a+1,a+1+m,cmp);
for(int i=1;i<=5;i++)
{
cout<<a[i].id<<' '<<a[i].num<<endl;
}
return 0;
}
希望大神挑错
by Enderturtle @ 2017-10-23 18:26:55
已经明白了
是由于sort的不稳定性
只要把sort改成stable_sort就对了