| 比赛 | 
    10101115 | 
    评测结果 | 
    AWWAAAAAAA | 
    | 题目名称 | 
    矩形分割 | 
    最终得分 | 
    80 | 
    | 用户昵称 | 
    苏轼 | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2010-11-15 09:33:23 | 
显示代码纯文本
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN=2005;
struct Node
{
	int data,ind;
}x[MAXN],y[MAXN];
inline bool operator < (const Node &a,const Node &b)
{
	return a.data>b.data;
}
int n,m,re;
int addx=1,addy=1;
int main()
{
	freopen("cut.in","r",stdin);
	freopen("cut.out","w",stdout);
	scanf("%d%d",&n,&m);
	n--,m--;
	for(int i=0;i<n;i++)
	{
		scanf("%d",&y[i].data);
		y[i].ind=i;
	}
	sort(y,y+n);
	for(int i=0;i<m;i++)
	{
		scanf("%d",&x[i].data);
		x[i].ind=i;
	}
	sort(x,x+m);
	int i,j;
	for(i=0,j=0;i<m&&j<n;)
	{
		if (x[i].data>y[j].data)
		{
			addy++;
			re+=x[i].data*addx;
			i++;
		}
		else
		{
			addx++;
			re+=y[j].data*addy;
			j++;
		}
	}
	for(;i<n;i++)
		re+=x[i].data*addx;
	for(;j<m;j++)
		re+=y[j].data*addy;
	printf("%d\n",re);
	return 0;
}