Codeforces 642 div3 B
原题链接
思路:把a顺序排,b逆序排
ACcodes:
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
long long inf = 0x3f3f3f3f3f3f3f3f;
int test = 1;
int n,k,a[50],b[50];
int main()
{
scanf("%d",&test);
while(test--)
{
int tot=0;
cin >> n >> k;
for(int i=1;i<=n;i++)
{
cin >> a[i];
tot+=a[i];
}
for(int i=1;i<=n;i++)
cin >>b[i];
sort(a+1,a+1+n);
sort(b+1,b+1+n);
int i=1;
while(k-- && b[n-i+1]>a[i])
{
tot+=b[n-i+1]-a[i];
//swap(a[i],b[i]);
i++;
}
cout << tot << endl;
}
return 0;
}