C. Boring Day(cf955)

题意:每次可以从数组顶端取任意数量,取出的所有数组之和如果在l到r之间,则获胜,否则失败,求最大获胜局数。

分析:用双指针算出区间内的和。

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

void sol(){

ll n,l,r;cin>>n>>l>>r;

ll ans=0,sum=0;

ll a[n+10];

for(int i=1;i<=n;i++)cin>>a[i];

ll x=1,y=0;ll c=0;

while(x<=n&&y<=n){

if(sum>=l&&sum<=r){

ans++;sum=0;x=y+1;

}

if(sum<l){

y++;

sum+=a[y];continue;

}

if(sum>r){

sum-=a[x];

x++;

}

}

cout<<ans<<endl;

}

int main(){

int t;cin>>t;

while(t--){

sol();

}

}

相关推荐
py有趣1 分钟前
力扣热门100题之最小覆盖子串
算法·leetcode
汀、人工智能3 分钟前
[特殊字符] 第102课:添加与搜索单词
数据结构·算法·均值算法·前缀树·trie·添加与搜索单词
汀、人工智能7 分钟前
07 - 字典dict:哈希表的Python实现
数据结构·算法·数据库架构·哈希表的python实现
oG99bh7CK13 分钟前
高光谱成像基础(六)滤波匹配 MF
人工智能·算法·目标跟踪
汀、人工智能13 分钟前
04 - 控制流:if/for/while
数据结构·算法·链表·数据库架构··if/for/while
海参崴-17 分钟前
C++代码格式规范
java·前端·c++
努力学习的小廉34 分钟前
我爱学算法之——动态规划(四)
算法·动态规划
!停44 分钟前
C++入门—初阶模板
开发语言·c++
Jp7gnUWcI1 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
开发语言·c++
北顾笙9801 小时前
day15-数据结构力扣
数据结构·算法·leetcode