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

}

}

相关推荐
paeamecium几秒前
【PAT甲级真题】- Reversing Linked List (25)
数据结构·c++·算法·pat
田梓燊2 分钟前
leetcode 73
算法·leetcode·职场和发展
TTTrees8 分钟前
C++学习笔记(38):封装、继承、多态
c++
ZPC821010 分钟前
相机接入ROS2 流程及问题排查
人工智能·算法·机器人
2501_9403152610 分钟前
【无标题】两个相同字符串中不同字符的个数
算法·哈希算法·散列表
l1t10 分钟前
DeepSeek辅助编写的dmp转schema和csv文件c语言程序
c语言·开发语言·windows
6Hzlia14 分钟前
【Hot 100 刷题计划】 LeetCode 54. 螺旋矩阵 | C++ 模拟法题解
c++·leetcode·矩阵
DREW_Smile17 分钟前
自定义类型:联合体和枚举
c语言·开发语言
算法鑫探19 分钟前
显示器插座最短连线算法(蓝桥杯十六届C组编程题第二题)
c语言·数据结构·算法·排序算法·新人首发
akarinnnn25 分钟前
【DAY15】:深⼊理解指针(6)
算法