题解80,我是90,怎么AC
查看原帖
题解80,我是90,怎么AC
35148
Lying_Flat666楼主2022/8/4 19:41
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 320;
int n;
struct whr
{
	int num,sum,yu,shu,wai;
}a[N];
bool cmp(whr p,whr q)
{
	if (p.sum!=q.sum) return p.sum>q.sum;
	if (p.sum==q.sum)
	{
		if (p.yu!=q.yu)
		return p.yu>q.yu;
	}
	if (p.sum==q.sum&&p.yu==q.yu) return p.num>q.num;
}
inline int read()
{
	int x=0,w=1; char c=getchar();
	while (c>'9'||c<'0') {if (c=='-') w=-1; c=getchar();}
	while (c<='9'&&c>='0') {x=(x<<1)+(x<<3)+c-'0'; c=getchar();}
	return w*x;
}
int main()
{
	n=read();
	for (int i=1;i<=n;++i)
	{
		a[i].num=i;
		a[i].yu=read(); a[i].shu=read(); a[i].wai=read();
		a[i].sum=a[i].yu+a[i].shu+a[i].wai;
	}
	sort(a+1,a+n+1,cmp);
	for (int i=1;i<=5;++i)
	printf("%d %d\n",a[i].num,a[i].sum);
	return 0; 
}
2022/8/4 19:41
加载中...