しろは的军训列队

Posted leiyuanze

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了しろは的军训列队相关的知识,希望对你有一定的参考价值。

代码

#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);
}

以上是关于しろは的军训列队的主要内容,如果未能解决你的问题,请参考以下文章

题解:T103180 しろは的军训列队

luoguP3960 [noip2017]列队(树状数组)

[NOIp 2017]列队

P4559 [JSOI2018]列队

Luogu P3960 列队(动态开点线段树)

[jzoj]5478.NOIP2017提高组正式赛列队