PROBLEM: - PROBLEM
Getting 2 test cases wrong, can someone help me what and why i am missing out?
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,k;
ll done;
ll r1, r2;
ll solve(vector<ll> a,vector<ll> b){
int e= n-1, i = 0;
for(int done=0;done<k;++done){
swap(a[e],b[i]);
e--;
i++;
if(e<0 or i<0){
break;
}
}
sort(a.begin(),a.end());
sort(b.begin(),b.end());
return a[n-1]+b[n-1];
}
int main(){
cin>>n>>k;
vector<ll> a;
vector<ll> b;
for(int i=0;i<n;++i){
cin>>r1;
a.push_back(r1);
}
for(int i=0;i<n;++i){
cin>>r2;
b.push_back(r2);
}
sort(a.begin(),a.end());
sort(b.begin(),b.end());
cout<<min(solve(a,b),solve(b,a));
}