# 題目
zerojudge c471. apcs 物品堆疊 (Stacking)
# 解題思路
目前沒東西...
# 程式碼
#include<bits/stdc++.h> | |
using namespace std; | |
#define N 100005 | |
struct stacking{ | |
int f; | |
long long w; | |
}; | |
bool cmp(stacking x,stacking y){ | |
return x.f*y.w<y.f*x.w; | |
} | |
int main(){ | |
stacking box[N]; | |
int n; | |
cin>>n; | |
for(int i=0;i<n;i++) | |
cin>>box[i].w; | |
for(int i=0;i<n;i++) | |
cin>>box[i].f; | |
sort(box,box+n,cmp); | |
long long ans=0; | |
for(int i=n-2;i>=0;i--){ | |
ans+=box[i].f*box[i+1].w; | |
box[i].w+=box[i+1].w; | |
} | |
cout<<ans<<"\n"; | |
return 0; | |
} |