a

dark  •  2年前


include<bits/stdc++.h>

using namespace std; struct node{

int id,s,p;

}; bool cmp(node a,node b){

if(a.s==b.s) return a.id<b.id;
else return a.s>b.s;

} node p[200010],win[100010],lose[100010]; int n,r,q; int main(void){

cin>>n>>r>>q;
for(int i=1;i<=2*n;i++) cin>>p[i].s,p[i].id=i;
for(int i=1;i<=2*n;i++) cin>>p[i].p;
sort(p+1,p+1+2*n,cmp);
while(r--){
	int t=1;
	for(int i=1;i<=2*n;i+=2){
		if(p[i].p>p[i+1].p){
			p[i].s++;
			win[t]=p[i];
			lose[t]=p[i+1];
		}else{
			p[i+1].s++;
			win[t]=p[i+1];
			lose[t]=p[i];
		}
		t++;
	}
	int tl=1,tr=1,tt=1;
	while(tl<=n&&tr<=n){
		if(cmp(win[tl],lose[tr])) p[tt++]=win[tl++];
		else p[tt++]=lose[tr++];
	}
	while(tl<=n) p[tt++]=win[tl++];
	while(tr<=n) p[tt++]=lose[tr++];
}
cout<<p[q].id;
return 0;

}


评论:

请先登录,才能进行评论