比赛 2025.12.6 评测结果 AAAAAAAAAA
题目名称 巧克力 最终得分 100
用户昵称 梦那边的美好TE 运行时间 0.251 s
代码语言 C++ 内存使用 3.86 MiB
提交时间 2025-12-06 08:53:41
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N=1e4+1;
ll f[2][N],x[N],y[N];
bool cmp(int a,int b){
	return a>b;
}
int n,m;
int main(){
	freopen("chocolate.in","r",stdin);
	freopen("chocolate.out","w",stdout); 
	scanf("%d %d",&n,&m);
	for(int i=1;i<n;i++)scanf("%d",x+i);
	sort(x+1,x+n,cmp);
	for(int i=1;i<m;i++)scanf("%d",y+i);
	sort(y+1,y+m,cmp);
	ll u,v;
	for(int i=0;i<n;i++){
		int o=(i&1);
		for(int j=0;j<m;j++){
			if(!i&&!j)continue;
			u=v=1e15;
			if(i)u=f[o^1][j]+x[i]*(j+1);
			if(j)v=f[o][j-1]+y[j]*(i+1);
			f[o][j]=min(u,v); 
		}
	}
	printf("%lld\n",f[(n-1)&1][m-1]);
	return 0;
}