#include <bits/stdc++.h>
#define _for(i, a, b) for (int i = (a); i < (b); ++i)
#define _rep(i, a, b) for (int i = (a); i <= (b); ++i)
#define ll long long
using namespace std;
const int maxn = 200001;
int temp[maxn];
int a[maxn], s[maxn], w[maxn];
void mergeSort(int *q, int l, int r, bool (*cmp)(int x, int y))
{
if (l >= r)
return;
int mid = l + r >> 1;
mergeSort(q, l, mid, cmp);
mergeSort(q, mid + 1, r, cmp);
int i = l, j = mid + 1, k = 0;
//int *temp = new int[r - l + 1];
while (i <= mid && j <= r)
{
if (cmp(q[i], q[j]))
temp[k++] = q[i++];
else
temp[k++] = q[j++];
}
while (i <= mid)
temp[k++] = q[i++];
while (j <= r)
temp[k++] = q[j++];
for (i = l, j = 0; i <= r; i++, j++)
{
q[i] = temp[j];
}
}
bool cmp(int x, int y){
if(s[x] == s[y]){
return x<y;
}else
{
return s[x] > s[y];
}
}
int main()
{
ios::sync_with_stdio(0); //解决c++输入输出流被卡问题
ll N, R, Q;
cin >> N >> R >> Q;
_rep(i, 1, 2 * N) a[i] = i;
_rep(i, 1, 2 * N) cin >> s[i];
_rep(i, 1, 2 * N) cin >> w[i];
_rep(_,1,R){
mergeSort(a,1,2*N,cmp);
for (int i = 1; i < 2*N;)
{
if(w[a[i]] > w[a[i+1]]){
s[a[i]]++;
}else
{
s[a[i+1]]++;
}
i+=2;
}
}
mergeSort(a,1,2*N,cmp);
cout << a[Q] << endl;
return 0;
}
求大佬帮忙看看。。。。