#include <iostream>
#include <algorithm>
using namespace std;
const int N=2e5+7;
int n, r, q;
struct node{
int s, w, id;
}a[N];
bool cmp(node x, node y){
return (x.s==y.s?x.id<y.id:x.s>y.s);
}
int main(){
cin>>n>>r>>q;
n*=2;
for(int i=1;i<=n;i++)
a[i].id=i;
for(int i=1;i<=n;i++)
cin>>a[i].s;
for(int i=1;i<=n;i++)
cin>>a[i].w;
while(r--){
sort(a+1, a+n+1, cmp);
for(int i=1;i<=n;i+=2){
a[i].s+=(a[i].w>a[i+1].w);
a[i+1].s+=(a[i].w<a[i+1].w);
}
}
sort(a+1, a+n+1, cmp);
cout<<a[q].id<<endl;
return 0;
}
时间复杂度:
O(RNlog2N)
50∗200000∗20=200000000 应该不会超哇?
备注:不开o260分