一个点都没过(但样例过了)
查看原帖
一个点都没过(但样例过了)
543953
slipknot楼主2022/10/24 17:05
#include<bits/stdc++.h>
using namespace std;
struct wdnmd{
	int shili,id,score;
}s[200005];
bool cmp(wdnmd a,wdnmd b)
{
	if(a.shili==b.shili)	return a.id<b.id;
	return a.shili>b.shili;
}
int n,r,q;
vector <wdnmd> a,b;
int sb=1,cod=1;
int main()
{
	cin>>n;
	cin>>r;
	cin>>q;
	for(int i=1;i<=2*n;i++)
	{
		cin>>s[i].score;
		s[i].id=i;
	}
	
	for(int i=1;i<=2*n;i++)
	{
		cin>>s[i].shili;
	}
	sort(s+1,s+1+2*n,cmp);
	
	for(int j=1;j<=r;j++)
	{
		for(int i=1;i<=2*n;i=i+2)
		{
			if(s[i].shili>s[i++].shili)
			{
				s[i].score++;
				a.push_back(s[i]);
				b.push_back(s[i++]);
			}
			else
			{
				s[i++].score++;
				a.push_back(s[i++]);
				b.push_back(s[i]);
			}
		}
		merge(a.begin(),a.end(),b.begin(),b.end(),s+1,cmp);
	}
	cout<<s[q].id;

	return 0;
}
2022/10/24 17:05
加载中...