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

}

}

相关推荐
筠筠喵呜喵6 小时前
Linux软件开发性能优化
linux·c++·性能优化
Bruce_kaizy7 小时前
c++ linux环境编程——文件io介绍以及open 、write 、read 三剑客深度详解
linux·服务器·c++·ubuntu·操作系统·文件io
PAK向日葵9 小时前
我用 C++ 写了一个轻量级 Python 虚拟机,刚刚开源
c++·python·开源
玖釉-9 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
IronMurphy9 小时前
【算法五十】62. 不同路径
算法
影寂ldy9 小时前
C#一维数组
算法
枕星而眠10 小时前
数据结构八大排序详解(一):四大简单排序
c语言·数据结构·c++·后端
过期动态10 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
努力努力再努力wz10 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github