• codeforces740B


    Alyona and flowers

     CodeForces - 740B 

    Little Alyona is celebrating Happy Birthday! Her mother has an array of n flowers. Each flower has some mood, the mood of i-th flower is ai. The mood can be positive, zero or negative.

    Let's define a subarray as a segment of consecutive flowers. The mother suggested some set of subarrays. Alyona wants to choose several of the subarrays suggested by her mother. After that, each of the flowers will add to the girl's happiness its mood multiplied by the number of chosen subarrays the flower is in.

    For example, consider the case when the mother has 5 flowers, and their moods are equal to 1,  - 2, 1, 3,  - 4. Suppose the mother suggested subarrays (1,  - 2), (3,  - 4), (1, 3), (1,  - 2, 1, 3). Then if the girl chooses the third and the fourth subarrays then:

    • the first flower adds 1·1 = 1 to the girl's happiness, because he is in one of chosen subarrays,
    • the second flower adds ( - 2)·1 =  - 2, because he is in one of chosen subarrays,
    • the third flower adds 1·2 = 2, because he is in two of chosen subarrays,
    • the fourth flower adds 3·2 = 6, because he is in two of chosen subarrays,
    • the fifth flower adds ( - 4)·0 = 0, because he is in no chosen subarrays.

    Thus, in total 1 + ( - 2) + 2 + 6 + 0 = 7 is added to the girl's happiness. Alyona wants to choose such subarrays from those suggested by the mother that the value added to her happiness would be as large as possible. Help her do this!

    Alyona can choose any number of the subarrays, even 0 or all suggested by her mother.

    Input

    The first line contains two integers n and m (1 ≤ n, m ≤ 100) — the number of flowers and the number of subarrays suggested by the mother.

    The second line contains the flowers moods — n integers a1, a2, ..., an ( - 100 ≤ ai ≤ 100).

    The next m lines contain the description of the subarrays suggested by the mother. The i-th of these lines contain two integers li and ri (1 ≤ li ≤ ri ≤ n) denoting the subarray a[li], a[li + 1], ..., a[ri].

    Each subarray can encounter more than once.

    Output

    Print single integer — the maximum possible value added to the Alyona's happiness.

    Examples

    Input
    5 4
    1 -2 1 3 -4
    1 2
    4 5
    3 4
    1 4
    Output
    7
    Input
    4 3
    1 2 3 4
    1 3
    2 4
    1 1
    Output
    16
    Input
    2 2
    -1 -2
    1 1
    1 2
    Output
    0

    Note

    The first example is the situation described in the statements.

    In the second example Alyona should choose all subarrays.

    The third example has answer 0 because Alyona can choose none of the subarrays.

    sol:这题意TMD居然看成了一道数据结构题(智减inf)
    搞出前缀和,显然如果是正数就算入答案,否则不算
    #include <bits/stdc++.h>
    using namespace std;
    typedef int ll;
    inline ll read()
    {
        ll s=0;
        bool f=0;
        char ch=' ';
        while(!isdigit(ch))
        {
            f|=(ch=='-'); ch=getchar();
        }
        while(isdigit(ch))
        {
            s=(s<<3)+(s<<1)+(ch^48); ch=getchar();
        }
        return (f)?(-s):(s);
    }
    #define R(x) x=read()
    inline void write(ll x)
    {
        if(x<0)
        {
            putchar('-'); x=-x;
        }
        if(x<10)
        {
            putchar(x+'0');    return;
        }
        write(x/10);
        putchar((x%10)+'0');
        return;
    }
    #define W(x) write(x),putchar(' ')
    #define Wl(x) write(x),putchar('
    ')
    const int N=105;
    int n,m,a[N],Qzh[N];
    int S[N];
    int main()
    {
        int i,j,ans=0;
        R(n); R(m);
        for(i=1;i<=n;i++) R(a[i]);
        for(i=1;i<=n;i++) Qzh[i]=Qzh[i-1]+a[i];
        for(i=1;i<=m;i++)
        {
            int l=read(),r=read();
            if(Qzh[r]-Qzh[l-1]>0) ans+=(Qzh[r]-Qzh[l-1]);
        }
        Wl(ans);
        return 0;
    }
    /*
    input
    5 4
    1 -2 1 3 -4
    1 2
    4 5
    3 4
    1 4
    output
    7
    
    input
    4 3
    1 2 3 4
    1 3
    2 4
    1 1
    output
    16
    
    input
    2 2
    -1 -2
    1 1
    1 2
    output
    0
    */
    View Code
     
  • 相关阅读:
    Oracle数据库编程
    使用JDBC处理MySQL大文本和大数据
    phpcms之带图片的登录信息(带cookie版)(由于cookie和PHPCMS的原因,这个暂时无法使用,看新的)
    phpcms之调用导航栏
    phpcms之修改默认显示文字
    phpcms之创建自己的路径
    dedecms 动态tab写法
    关于dedecms的操作
    12/23
    12/21
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10638740.html
Copyright © 2020-2023  润新知