CF1057B DDoS

CF1057B DDoS

前缀和练习题。

大概是普及组第二题的难度。

题目大意:给出一个序列,问你的某一段连续序列 [i,j][i,j] 的和是否大于一个 100×(ji+1)100\times (j-i+1),找这个序列的长度最大。

由于是静态查询区间和,显然可以用前缀和算法,由于 n5000n \le 5000,显然可以使用 n2n^2 的办法去遍历每一个区间,而前缀和优化的就是这个查询这个区间和的过程。

最后统计区间长度最大就结束了。

#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
int a[N],s[N];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i],s[i]=s[i-1]+a[i];
	int maxx=0;
	for(int i=1;i<=n;i++)
		for(int j=0;j<i;j++)
			if(s[i]-s[j]>100*(i-j))
				maxx=max(maxx,i-j);
	cout<<maxx<<endl;
	return 0;
}
posted @   June_Failure  阅读(1)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示