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

}

}

相关推荐
乐迪信息30 分钟前
乐迪信息:目标检测算法+AI摄像机:煤矿全场景识别方案
人工智能·物联网·算法·目标检测·目标跟踪·语音识别
前端小L6 小时前
贪心算法专题(十):维度权衡的艺术——「根据身高重建队列」
javascript·算法·贪心算法
方得一笔6 小时前
自定义常用的字符串函数(strlen,strcpy,strcmp,strcat)
算法
Dillon Dong7 小时前
从C到Simulink: 使用STM32硬件支持包后为什么还不支持PC仿真ARM建模程序
c语言·stm32·simulink
Xの哲學7 小时前
Linux SMP 实现机制深度剖析
linux·服务器·网络·算法·边缘计算
Thera7777 小时前
状态机(State Machine)详解:原理、优缺点与 C++ 实战示例
开发语言·c++
linux开发之路7 小时前
C++高性能日志库开发实践
c++·c++项目·后端开发·c++新特性·c++校招
wuk9987 小时前
使用PCA算法进行故障诊断的MATLAB仿真
算法·matlab
额呃呃7 小时前
二分查找细节理解
数据结构·算法
无尽的罚坐人生7 小时前
hot 100 283. 移动零
数据结构·算法·双指针