Pagini recente » Cod sursa (job #2887294) | Cod sursa (job #2432297) | Cod sursa (job #1764348) | Cod sursa (job #1031381) | Cod sursa (job #3269366)
#include <bits/stdc++.h>
#define NMAX 200050
using namespace std;
struct elem{
int p;
bool c;
bool operator<(const elem &b)const{
if(p!=b.p)
return p<b.p;
return c<b.c;
}
};
int t, n, k,x,m,neg, nr;
long long Max;
int main()
{
cin>>t;
for(;t>0;--t)
{
cin>>n>>k;
vector<elem>v;
m=0;
for(int i=1;i<=n;++i)
{
cin>>x;
v.push_back({x,0});
}
for(int i=1;i<=n;++i)
{
cin>>x;
v.push_back({x,1});
}
sort(v.begin(), v.end());
int i=0;
neg=0, nr=n;
Max=n;
while(i<v.size())
{
x=v[i].p;
if(neg<=k && Max<1LL*x*nr)
Max=1LL*x*nr;
while(i<v.size() && v[i].p==x)
{
if(v[i].c==0)
++neg;
else
{
--neg;
--nr;
}
++i;
}
}
cout<<Max<<'\n';
}
return 0;
}