成绩排序2

biggayboy 2021-06-11 18:50:08

#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
using namespace std;

struct cj{
	string name;
	int id;
	char xb;
	int yw,sx;
}; 

bool cmp(cj x,cj y){
	if(x.yw+x.sx==y.yw+y.sx){
		if(x.yw==y.yw) 
		{
			if(x.xb==y.xb)
			{
				 
			    if(x.name==y.name) 
				{
					return x.id<y.id;
				} 
				else return x.name<y.name;
			} 
			else return x.xb<y.xb;
		}			
		else return x.yw>y.yw;
	}
	else return x.yw+x.sx>y.yw+y.sx;	
}

cj a[100100];

int main(){
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].name >>a[i].id >>a[i].xb >>a[i].yw >>a[i].sx ;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		printf("%d\n",a[i].id );
	}
	return 0;
}