题解
查看原帖
题解
567642
waioi_lin楼主2022/2/11 11:56
#include <bits/stdc++.h>
#define itn int
#define ll long long
#define retrun return
using namespace std;

int in(){
	char c = getchar();
	int x = 0, f = 1;
	for (; c < '0' || c > '9'; c = getchar())
		if (c == '-') f = -1;
	for (; c >= '0' && c <= '9'; c = getchar())
		x = (x << 1) + (x << 3) + (c ^ 48);
	return x * f;
}

void pr(int x){
	if (x < 0) x = -x, putchar('-');
	if (x > 9) pr(x / 10);
	putchar(x % 10 + '0');
}

struct Node{
	string name;
	int Chinese;
	int Math;
	int English;
	int xuhao;
}; 

bool cmp(Node a, Node b){
	int a1,b1;
	a1=a.Chinese+a.English+a.Math;
	b1=b.Chinese+b.English+b.Math;
	if (a1!=b1) 
		return a1 > b1;
	else
		return a.xuhao < b.xuhao;
}

int  main(void){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	int n;
	scanf("%d", &n);
	Node a[n];
	for(int i=0;i<n;i++){
		cin>>a[i].name>>a[i].Chinese>>a[i].Math>>a[i].English;
		a[i].xuhao=i;
	}
	sort(a,a+n,cmp);
	cout<<a[0].name<<" "<<a[0].Chinese<<" "<<a[0].Math<<" "<<a[0].English<<endl;
	return (0);
}

2022/2/11 11:56
加载中...