CF 1057B DDoS 题解

思路

前缀和,预处理出 $r$ 的前缀和 $s$ 后,只需用 $s_y-s_{x-1}$ 就能得出 $\sum^{i=x}_yr_i$ 的值。

暴力枚举 $l$ 和 $r$ 的位置,若满足条件,则更新最大值。

时间复杂度 $O(n^2)$.

代码

int main()
{
    n=fastio_read();
    for(int i=1;i<=n;i++)
    {
        a=fastio_read();
        s[i]=s[i-1]+a;        //预处理前缀和
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=i;j<=n;j++)
        {
            if(s[j]-s[i-1]>100*(j-i+1))        //满足条件,更新
            {
                ans=max(ans,j-i+1);
            }
        }
    }
    fastio_write(ans);
    putchar('\n');
    return 0;
}
posted @ 2022-03-13 19:40  Day_Dreamer_D  阅读(53)  评论(1)    收藏  举报