#include<bits/stdc++.h>
#define MAXN 100010
using namespace std;
struct node{
int num,score,w;
};
int n,r,q;
node player[2*MAXN];
bool cmp(node a,node b){
if(a.score!=b.score) return a.score<b.score;//看出问题了吗
else return a.num<b.num;
}
int main(){
// freopen("swiss.in","r",stdin);
// freopen("swiss.out","w",stdout);
scanf("%d%d%d",&n,&r,&q);
for(int i=1;i<=n*2;i++){
scanf("%d",&player[i].score);
player[i].num=i;
}
for(int i=1;i<=n*2;i++){
scanf("%d",&player[i].w);
}
while(r--){
sort(player+1,player+n*2+1,cmp);
for(int i=1;i<=n;i++){
if(player[i*2].w>player[i*2-1].w){
player[i*2].score++;
}else{
player[i*2-1].score++;
}
}
}
sort(player+1,player+n*2+1,cmp);
printf("%d\n",player[q].num);
return 0;
}
这个代码居然能过样例!感谢 CCF 超强样例!