90分求助
查看原帖
90分求助
222345
shzuaeno楼主2020/10/7 09:29
#include <iostream>
#include <algorithm>
using namespace std;
struct cj{
	int yw;
	int sx;
	int yy;
	int zf;
	int xh;
}a[305];
bool cmp(cj w,cj u)
{
	return w.zf>u.zf;
}
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].yw>>a[i].sx>>a[i].yy;
		a[i].xh=i;
		a[i].zf=a[i].yw+a[i].sx+a[i].yy;	
	}
	sort(a+1,a+n+1,cmp);
	int p=0,ans=0,k=0;
	for(int i=2;i<=n;i++)
	{
		if(a[i].zf==a[i-1].zf&&a[i].zf>a[i+1].zf)
		{
			ans+=2;
			k++;
			continue;
		}	
		if(a[i].zf==a[i-1].zf&&a[i].zf==a[i+1].zf)
		{
			if(i==2)
				ans+=2;
			else
				ans++;
			k++;
			continue;
		}
		if(a[i].zf<a[i-1].zf&&k+p<5)
			p++;
		if(a[i].zf<a[i-1].zf&&k+p>=5)
			break;
	}
	ans+=p-1;
	for(int i=1;i<=ans;i++)
		for(int i=2;i<=ans;i++)
		{
			if(a[i].zf==a[i-1].zf)
				if(a[i].yw>a[i-1].yw)
					swap(a[i],a[i-1]);
		}
	for(int i=1;i<=5;i++)
		cout<<a[i].xh<<" "<<a[i].zf<<" "<<endl;
	return 0;
}

90分,第八个测试点卡住了,求助大佬

2020/10/7 09:29
加载中...