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();

}

}

相关推荐
TL滕几秒前
从0开始学算法——第十二天(KMP算法练习)
笔记·学习·算法
Math_teacher_fan4 分钟前
第二篇:核心几何工具类详解
人工智能·算法
汉克老师5 分钟前
CCF-NOI2025第二试题目与解析(第二题、集合(set))
c++·算法·noi·子集卷积·sos dp·mod 异常
Ayu阿予28 分钟前
C++从源文件到可执行文件的过程
开发语言·c++
福尔摩斯张30 分钟前
基于C++的UDP网络通信系统设计与实现
linux·c语言·开发语言·网络·c++·tcp/ip·udp
mit6.82432 分钟前
presum|
算法
不穿格子的程序员33 分钟前
从零开始写算法——链表篇2:从“回文”到“环形”——链表双指针技巧的深度解析
数据结构·算法·链表·回文链表·环形链表
hkNaruto35 分钟前
【规范】Linux平台C/C++程序版本发布调试规范手册 兼容银河麒麟
linux·c语言·c++
guygg881 小时前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab