#include #define endl '\n' using namespace std; void fileIO() { freopen("dodgeball2.in", "r", stdin); freopen("dodgeball2.out", "w", stdout); } void fastIO() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } const int MAXN=2e5+5; int n,m[2]; int a[MAXN]; int b[MAXN]; vector v[2]; vector tmp; bool cmp0(int x,int y) { return a[x]>a[y]; } bool cmp1(int x,int y) { return b[x]>b[y]; } void solve() { cin>>n>>m[0]>>m[1]; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; for(int i=1;i<=n;i++) { if(a[i]>=b[i]) { v[0].push_back(i); } else v[1].push_back(i); } bool (*func[2])(int x,int y)={cmp0,cmp1}; for(int j=0;j<2;j++) { if(v[j].size()>m[j]) { sort(v[j].begin(), v[j].end(), func[j]); for(int i=m[j];im[j]) v[j].pop_back(); } } for(int j1=0;j1<20;j1++) { int j=j1%2; v[j].insert(v[j].end(), tmp.begin(), tmp.end()); tmp.clear(); if(v[j].size()>m[j]) { sort(v[j].begin(), v[j].end(), func[j]); for(int i=m[j];im[j]) v[j].pop_back(); } } long long ans=0; for(int j=0;j<2;j++) { for(int i=0;i