题目传送门
rt,代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,m,a[2005],b[2005],aa[2005],bb[2005];
long long ans;
int main(){
cin>>n>>m;
for(int i=1;i<n;i++)
{
cin>>a[i];
aa[i]=1;//a[i]要切几次(默认1次)
}
sort(a+1,a+n);
for(int i=1;i<m;i++)
{
cin>>b[i];
bb[i]=1;//b[i]要切几次(默认1次)
}
sort(b+1,b+m);
int l=n-1,r=m-1;
while(1)
{
if(l<1&&r<1)
{
break;
}
if(l<1)
{
ans+=b[r]*bb[r];
r--;
for(int i=1;i<n;i++)
{
aa[i]++;
}
}
else if(r<1)
{
ans+=a[l]*aa[l];
l--;
for(int i=1;i<m;i++)
{
bb[i]++;
}
}
else if(a[l]*aa[l]>b[r]*bb[r])
{
ans+=a[l]*aa[l];
l--;
for(int i=1;i<m;i++)
{
bb[i]++;
}
}
else
{
ans+=b[r]*bb[r];
r--;
for(int i=1;i<n;i++)
{
aa[i]++;
}
}
//cout<<ans<<" ";
}
cout<<ans;
return 0;
}