10分,找了半天也不知道错误在哪,
代码:
#include<iostream>
#include<algorithm>
using namespace std;
long long n,m;
long long sum=0,s0=0,s1=0;
struct s{
long long t,x;
}a[1000010];
bool cmp(s k1,s k2){
return k1.x>k2.x;
}
int main(){
cin>>n>>m;
long long s=n-1+m-1;
for(int i=1;i<=s;i++){
if(i<n-1){
a[i].t=0;
}
else{
a[i].t=1;
}
cin>>a[i].x;
}
sort(a+1,a+s+1,cmp);
for(int i=1;i<=s;i++){
if(a[i].t==0){
sum+=a[i].x+a[i].x*s1;
s0++;
}
else{
sum+=a[i].x+a[i].x*s0;
s1++;
}
}
cout<<sum;
return 0;
}