双指针 小红统计区间 牛客周赛 Round 28

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 10;
ll a[N];

int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    ll n,k;
    cin >> n >> k;
    for(int i = 1; i <= n; i++) cin >> a[i];
    int left = 1;
    ll sum = 0;
    ll ans = 0;
    for(int right = 1; right <= n; right++){
        sum += a[right];
        while(sum >= k){
            sum -= a[left];
            left++;
        }
        ans += left - 1;
    }
    cout << ans;
	return 0;
}
相关推荐
菜鸟丁小真15 分钟前
LeetCode hot100 -131.分割回文串
数据结构·算法·leetcode·知识点总结
Yuk丶18 分钟前
Procedural Dialogue Engine - UE4程序化对话系统的技术实现
c++·游戏引擎·ue4·游戏程序·虚幻
贾斯汀玛尔斯20 分钟前
每天学一个算法--PageRank
算法
自信1504130575923 分钟前
重生之从0开始学习c++之string(上)
开发语言·c++·学习
子琦啊23 分钟前
【算法复习】滑动窗口(同向区间指针)
算法
BestOrNothing_201524 分钟前
C++零基础到工程实战(4.3.8):基于 vector 实现一个简易缓存数据库
c++·vector·string·缓存数据库·stringstream·键值存储·getline
啊我不会诶31 分钟前
【自用复习】牛客每日一题2026.4.18 最大稳定数值
算法·深度优先
笨笨饿33 分钟前
66_C语言与微控制器底层开发
linux·c语言·网络·数据结构·算法·机器人·个人开发
苏宸啊1 小时前
C++异常
c++
HABuo1 小时前
【linux网络基础(二)】理解端口号&UDP、TCP协议&网络字节序
linux·服务器·c语言·网络·c++·ubuntu·centos