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

浙公网安备 33010602011771号