标签:typedef can ++ bool reg type pac long lin
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N = 1e6;
int n , a[N + 5] , b[N + 5];
struct node{
int a , b;
}c[N + 5];
LL val , ans , k1 , k2;
inline bool cmp(node x , node y) { return x.a < y.a; }
int main()
{
scanf("%d" , &n);
for(register int i = 1; i <= n; i++) scanf("%d" , &c[i].a);
for(register int i = 1; i <= n; i++) scanf("%d" , &c[i].b);
sort(c + 1 , c + n + 1 , cmp);
for(register int i = 2; i <= n; i++) val += 1LL * (c[i].a - c[1].a) * c[i].b , k1 += 1LL * c[i].b;
k2 = c[1].b , ans = val;
for(register int i = 2; i <= n; i++)
{
val -= 1LL * k1 * (c[i].a - c[i - 1].a);
val += 1LL * k2 * (c[i].a - c[i - 1].a);
k1 -= c[i].b , k2 += c[i].b;
ans = min(ans , val);
}
printf("%lld" , ans);
}
标签:typedef can ++ bool reg type pac long lin
原文地址:https://www.cnblogs.com/leiyuanze/p/12346537.html