D - Max GEQ Sum

input

3
4
-1 1 -1 2
5
-1 2 -3 2 -1
3
2 3 -1

output

YES
YES
NO

题目大意:给你一个数组a,让你任意一个字段均满足:
max(ai,ai+1,…,aj−1,aj)≥ai+ai+1+⋯+aj−1+aj

思路

任意两个正数之间的负数的绝对值一定要>=最小的正数,所以我们在遍历数组的时候只需要维护上一个正数的最大值是多少。我们定义la是上一个最大值,sum是这一区间的负数绝对值的和当a[i]大于零的时候我们可以令
la = max(la+a[i]-sum,a[i]);

进而可以O1维护上一个最大值。

完整代码:

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define pii pair<int, int>
#define x first
#define y second
using namespace std;
const int N = 2e5 + 10;
const int mod = 1e9 + 7;
int i, j, k, n, m, l, x, y, ans;
int a[N], b[N], c[N], d[N];
int jc[N * 2], md[N * 2];
double dis[N];
bool p[N], q[N];
map<int, vector<int>> hh;
signed main()
{
cin >> l;
while (l--)
{
cin >> n;
for (i = 1; i <= n; i++)
cin >> a[i];
int la = 0, sum = 0;
int t = 0;
for (i = 1; i <= n; i++)
{
if (a[i] > 0)
{
if (la)
{
if (sum < min(la, a[i]))
t = 1;
}
la = max(la+a[i]-sum,a[i]);
sum=0;
}
else
sum -= a[i];
}
if (!t)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
}

CF#795 D - Max GEQ Sum O(n)做法的更多相关文章

  1. group by与avg(),max(),min(),sum()函数的关系

    数据库表: create table pay_report(     rdate varchar(8),     --日期     region_id varchar(4),    --地市      ...

  2. SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum

    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum avg() 函数 定义和用法 AVG 函数返回数值列的平均值.NULL ...

  3. 49-python基础-python3-列表-常用列表统计函数-max()-min()-sum()

    max() min() sum() 1-数字列表统计 实例: 2-字符串列表统计. 根据ASCII码大小统计字符串列表的min()和max(). 注意:sum()函数无法统计字符串列表. 实例:

  4. Linq查询操作之聚合操作(count,max,min,sum,average,aggregate,longcount)

    在Linq中有一些这样的操作,根据集合计算某一单一值,比如集合的最大值,最小值,平均值等等.Linq中包含7种操作,这7种操作被称作聚合操作. 1.Count操作,计算序列中元素的个数,或者计算满足一 ...

  5. sql-函数avg,count,max,min,sum

     常用函数 AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名&qu ...

  6. Linq中max min sum avarage count的使用

    一.Max最大值 static void Main(string[] args) { //Max求最大值 ,,,,,,,,,}; //方法1 Linq语句+Linq方法 var result = (f ...

  7. MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)

    table test Field Type Null Key Default Extra id int(11) NO PRI NULL auto_increment name char(50) NO ...

  8. MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)

    1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数. 认情况下 聚合函数会对当前所在表当做一个组进行统计. 2.聚合函数的特点 1.每个组函数接收一个参 ...

  9. (算法)Binary Tree Max Path Sum

    题目: Given a binary tree, find the maximum path sum. For this problem, a path is defined as any seque ...

  10. CF#67 75d Big Maximum Sum

    ~~~题面~~~ 题解: 观察到拼接后的数据范围过大,无法O(n)解决,但是大区间是由很多小区间组成,而小区间是固定的,不会变化,所以可以考虑预处理出每个小区间的信息,然后根据给定序列按顺序一步一步合 ...

随机推荐

  1. 前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

    这一章主要分享一下使用 Konva 遇到的性能优化问题,并且介绍一下 UI 美化的思路. 至少有 2 位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提 ...

  2. UE4打包后的游戏,无法打卡其他关卡的解决办法

    现象: 程序调试的时候可以通过主菜单打开其他关卡界面,但是打包之后就无法通过按钮打开,一直显示错误 Warning: Travel Failure: [ClientTravelFailure]: Fa ...

  3. [KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) E

    KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder E E - Our clients, p ...

  4. vscode注释快捷键

    单行注释 ctrl+/ 多行注释 ctrl+alt+a 文档注释 /** 复制上面一行 ctrl+d 选中段落整体向左或向右缩进 ctrl +[ 或 ctrl + ] 查找 ctrl + f

  5. Python爬虫常用库介绍(requests、BeautifulSoup、lxml、json)

    1.requests库 http协议中,最常用的就是GET方法: import requests response = requests.get('http://www.baidu.com') pri ...

  6. Feign 动态设定服务器名称 与 调用接口

    1. 新增编码器(由于使用了动态的Feign,所以不能像正常使用Feign一样指定configuration配置编码器) import feign.RequestTemplate; import fe ...

  7. K8s文件解析 涉及 SLS、MSE、NAS存储卷等

    k8s.yml模板 涉及配置: 1. 存储卷(NAS) 2. SLS设定(阿里云日志采集系统) 3. MSE配置(阿里云版nacos) 4. 配置应用参数(包括路径,布尔类型数据等) apiVersi ...

  8. 语音识别 可以跑在MCU上吗

    Ref: https://developer.arm.com/Additional%20Resources/Video%20Tutorials/AITechTalk-Video-Speech%20re ...

  9. 音视频处理三剑客之 AEC:回声产生原因及回声消除原理

    在上一期课程<音视频开发者进阶 -- 音频要素>中,我们从声音三要素.音频模拟信号的数字化和音频数字信号特征等方面,重新认识了"声音"这个老朋友.今天,我们会进一步聊聊 ...

  10. 闲的蛋疼整理了一下Dockerfile的命令和参数备查

    Dockerfile 主要指令及参数: 指令 主要参数 作用 用法示例 FROM <image>[:<tag>] [AS <name>] 指定基础镜像 FROM u ...