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

}

}

相关推荐
yzs8727 分钟前
OLAP数据库HashJoin性能优化揭秘
数据库·算法·性能优化·哈希算法
m0_5312371739 分钟前
C语言-分支与循环语句练习
c语言·开发语言
好家伙VCC1 小时前
**发散创新:编译器优化实战——从LLVM IR到性能飞跃的奇妙旅程**
java·开发语言·python·算法
季明洵1 小时前
数据在内存中的存储
数据结构·算法·c
weixin_458872611 小时前
东华复试OJ每日3题打卡·复盘85~87
算法
追随者永远是胜利者1 小时前
(LeetCode-Hot100)70. 爬楼梯
java·算法·leetcode·职场和发展·go
瓦特what?1 小时前
希 尔 排 序
开发语言·c++
寒秋花开曾相惜1 小时前
(学习笔记)2.2 整数表示(2.2.3 补码编码)
c语言·开发语言·笔记·学习
落羽的落羽1 小时前
【Linux系统】磁盘ext文件系统与软硬链接
linux·运维·服务器·数据库·c++·人工智能·机器学习
不想看见4041 小时前
Climbing Stairs 基本动态规划:一维--力扣101算法题解笔记
算法·leetcode·动态规划