蒟蒻求卡常
查看原帖
蒟蒻求卡常
150547
Davi_zhao楼主2020/8/20 14:29
#include<bits/stdc++.h>
using namespace std;
const int maxn=200010;
struct node
{
	int id;
	int score;
	int power;
}player[maxn];
bool cmp(node a,node b)
{
	if((a.score>b.score)||((a.score==b.score)&&(a.id<b.id)))
		return true;
	return false;	
}
int main()
{
	int N,R,Q;
	cin>>N>>R>>Q;
	for(int i=1;i<=2*N;i++)
		player[i].id=i;
	for(int i=1;i<=2*N;i++)
		scanf("%d",&player[i].score);	
	for(int i=1;i<=2*N;i++)
		scanf("%d",&player[i].power);
	while(R--)
	{
		stable_sort(player+1,player+2*N+1,cmp);
		for(inti=1;i<=N;i++)
		{
			if(player[2*i-1].power>player[2*i].power)
				player[2*i-1].score++;
			if(player[2*i].power>player[2*i-1].power)
				player[2*i].score++;
		}
	}
	stable_sort(player+1,player+2*N+1,cmp);
	cout<<player[Q].id<<endl;
	return 0;
}

话说这个代码是教练找的 可能就是题解

2020/8/20 14:29
加载中...