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

}

}

相关推荐
项目申报小狂人5 分钟前
中科院1区SCI-哲学命题优化算法Philosophical proposition optimizer-附Matlab免费代码
linux·算法·matlab
rit84324998 分钟前
基于光流场的 Demons 算法
算法
哈哈不让取名字8 分钟前
C++代码冗余消除
开发语言·c++·算法
heart_fly_in_sky9 分钟前
RK3576平台OpenCL GPU编程实战指南(Lesson 2)
c++
棱镜Coding11 分钟前
LeetCode-Hot100 27.合并两个有序链表
算法·leetcode·链表
lixzest17 分钟前
C++工程师的成长
开发语言·c++·程序人生·职场和发展
2301_7657031422 分钟前
C++中的策略模式应用
开发语言·c++·算法
TGITCIC23 分钟前
RAG不是魔法,是工程:从知识库到企业部署的硬核实践
人工智能·算法·机器学习·rag·ai agent·ai开发·rag增强检索
GHL28427109023 分钟前
*:端口 & 127.0.0.1:端口
运维·服务器·c++
王老师青少年编程24 分钟前
信奥赛C++提高组csp-s之树形DP详解及编程实例
c++·动态规划·树形dp·csp·信奥赛·csp-s·提高组