#include<stdio.h>
#include<algorithm>
using namespace std;
struct zcc
{
long long cnt,num;
}po[100005];
int cmp(zcc a,zcc b)
{
return a.num*b.cnt<b.num*a.cnt;
}
int main()
{
long long n;
while(scanf("%I64d",&n)!=EOF)
{
long long sum=0;
for(int i=0;i<n;i++)
{
scanf("%I64d",&po[i].num);
}
for(int i=0;i<n;i++)
{
scanf("%I64d",&po[i].cnt);
}
sort(po,po+n,cmp);
long long ans=0;
for(int i=0;i<n;i++)
{
ans=ans+po[i].num;
sum+=ans*po[i].cnt;
}
printf("%I64d\n",sum);
}
}
Hdu4882 - ZCC Loves Codefires - 贪心(2014 Multi-University Training Contest 2-1011)
最新推荐文章于 2017-05-26 19:27:00 发布