记录编号 |
21781 |
评测结果 |
AAAAAAAAAA |
题目名称 |
矩形分割 |
最终得分 |
100 |
用户昵称 |
苏轼 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.008 s |
提交时间 |
2010-11-15 14:41:31 |
内存使用 |
0.28 MiB |
显示代码纯文本
#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<m;i++)
re+=x[i].data*addx;
for(;j<n;j++)
re+=y[j].data*addy;
printf("%d\n",re);
return 0;
}