双指针 小红统计区间 牛客周赛 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;
}
相关推荐
码爸6 小时前
线性回归算法
算法·机器学习·线性回归
Coder-magician6 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil2086 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b6 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
别动我齐刘海7 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
程序员老陆7 小时前
C++ std::promise深度解析
c++·程序设计
青少儿编程课堂7 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b8 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
沫璃染墨9 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss