Codeforces Round #613 (Div. 2) B. Just Eat It!(前缀和)
2024-09-07 04:56:35
题意:
一个长为n的序列,是否存在与原序列不同的连续子序列,其元素之和大于等于原序列。
思路:
从前、后分别累加,若出现非正和,除此累加序列外的子序列元素之和一定大于等于原序列。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll; bool solve(){
int n;cin>>n;
int a[n];for(int &i:a) cin>>i; ll sum=0;
for(int i=0;i<n;i++){
sum+=a[i];
if(sum<=0) return 0;
} sum=0;
for(int i=n-1;i>=0;i--){
sum+=a[i];
if(sum<=0) return 0;
} return 1;
} int main(){
int t;cin>>t;
while(t--)
cout<<(solve()?"YES":"NO")<<"\n"; return 0;
}
最新文章
- Yes, Virginia, Scala is hard
- poj2305-Basic remains(进制转换 + 大整数取模)
- Apache Kafka源码分析 - autoLeaderRebalanceEnable
- Linux中PHP如何安装curl扩展方法
- noip知识点总结之--线性筛法及其拓展
- MFC创建对话框组件对应变量并进行设置值(VS2010)
- Linux内核开发基础
- HDU4515+计算日期
- iOS UI布局调试工具
- webservice的几个简单概念
- 使用inno setup制作安装包
- node.js 下依赖Express 实现post 4种方式提交参数
- jQuery ajax中使用serialize()方法提交表单数据示例
- 04 AutoCompleteTextView
- nginx 返回数据被截断
- 切面编程AOP之KingAOP
- 爱奇艺、伤酷、乐视 vip 解析视频网站
- Ext中 grid 设置行样式
- java多线程与线程间通信
- nodejs使用log4js记录日志