1 条题解

  • 0
    @ 2023-12-9 16:41:22

    AC code

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int n,m;
        int pi[100005];
        int ai[100005];
        int bi[100005];
        int ci[100005];
        int change[100005];
        long long ans = 0;
    
        memset(pi,0,sizeof(pi));
        memset(ai,0,sizeof(ai));
        memset(bi,0,sizeof(bi));
        memset(ci,0,sizeof(ci));
    
        cin>>n>>m;
        for(int i = 1;i < n;i++)
        {
            change[i] = 0;
        }
        change[0] = 0;
        for(int i = 1;i <= m;i++)
        {
            cin>>pi[i];
        }
        for(int i = 1;i < n;i++)
        {
            cin>>ai[i]>>bi[i]>>ci[i];
        }
        change[0] = 0;
    
        for(int i = 1;i <= m - 1;i++)
        {
            int l = min(pi[i], pi[i+1]);
            int r = max(pi[i], pi[i+1]);
    
            change[l]++;
            change[r]--;
        }
    
        for(int i = 1;i < n;i++)
        {
            change[i] = change[i-1] + change[i];
            ans += min((long long int)ai[i] * change[i],(long long int)bi[i] * change[i] + ci[i]);
        }
        cout<<ans<<endl;
        return 0;
    }
    
    • 1

    信息

    ID
    592
    时间
    1000ms
    内存
    125MiB
    难度
    4
    标签
    递交数
    171
    已通过
    75
    上传者