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

}

}

相关推荐
梓䈑14 小时前
【算法题攻略】模拟
c++·算法
Evand J14 小时前
【课题推荐与代码介绍】卡尔曼滤波器正反向估计算法原理与MATLAB实现
开发语言·算法·matlab
DFT计算杂谈14 小时前
VASP新手入门: IVDW 色散修正参数
linux·运维·服务器·python·算法
vKd0Ff21L14 小时前
如何在Dev-C++中设置TDM-GCC为默认编译器第九十一篇
java·jvm·c++
cany100014 小时前
C++ -- 型号比对和constexpr
c++
楼田莉子14 小时前
C++17新特性:结构化绑定/inline变量/if相关的变化
c++·后端·学习
翎沣14 小时前
C++面向对象三大特性
开发语言·c++
Chen_harmony14 小时前
【习题02】打印菱形
c语言
吃着火锅x唱着歌14 小时前
LeetCode 962.最大宽度坡
算法·leetcode·职场和发展
无限进步_14 小时前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法