zoukankan      html  css  js  c++  java
  • C. Vasya And The Mushrooms

    #include<bits/stdc++.h>
    using namespace std;
    #define inf 0x3f3f3f3f
    #define ll long long
    const int maxn = int(1e6)+100;
    const int mod=998244353;
    ll a[maxn],b[maxn];
    ll sum[maxn],suma[maxn],sumb[maxn],sumc[maxn];
    int n;
    void init(){
        for(int i=n;i>=1;i--) sum[i]=sum[i+1]+a[i]+b[i];
        for(int i=n,j=n;i>=1;i--,j++) suma[i]=suma[i+1]+(i-1)*a[i]+j*b[i];
        for(int i=n,j=n+1;i>=2;i--,j++) sumb[i]=sumb[i+1]+i*b[i]+j*a[i]; 
        sumb[1]=sumb[2]+b[1];
        ll tol=0,ret=0;
        for(int i=1;i<=n;i++){
            if(i%2==1){
                ret+=tol*a[i]; tol++;
                ret+=tol*b[i]; tol++;
                sumc[i]=ret;
            }
            else{
                ret+=tol*b[i]; tol++;
                ret+=tol*a[i]; tol++;
                sumc[i]=ret;
            }
        }
    }
    int main(){
            scanf("%d",&n);
            for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
            for(int i=1;i<=n;i++) scanf("%lld",&b[i]);
            init();
            //debug();
            ll ans=0;
            for(int i=0;i<=n;i++){
                if(i%2==0){
                    ans=max(ans,sumc[i]+suma[i+1]+i*sum[i+1]);
                }
                else{
                    ans=max(ans,sumc[i]+sumb[i+1]+(i-1)*sum[i+1]);
                }
            }
            printf("%lld
    ",ans);
    }
  • 相关阅读:
    ssh协议运用
    linux系统安装oracle遇到的问题
    Qt中mysql编译出错问题
    winform控件添加鼠标事件
    Linux网络编程
    多线程
    守护进程
    openssl 生成自签CA和pkcs12证书
    Linux CPU使用率获取 c
    temp
  • 原文地址:https://www.cnblogs.com/lishengkangshidatiancai/p/10279619.html
Copyright © 2011-2022 走看看