AWC0003 D - 連続練習日数
Difficulty:None
問題文
#AWC0003 #AWC
#尺取り法
#累積和 #二分探索
問題
長さNの数列Aがある。次の条件を満たす区間はいくつあるか。
区間の長さがK以上
区間内の和がM以上
解法
尺取り法をすればよい。累積和+二分探索でも解ける。
実装
提出コード
code:cpp
bool solve(){
LL(n,k,m);
vector<ll>a(n);
cin >> a;
ll ans{},sum{};
ll r{};
rep(l,n){
while(r<n and ((r-l)<k or sum<m)){
sum += ar;
r++;
}
deb(l,r);
if(sum>=m and r-l>=k){
ans += n+1-r;
}
sum -= al;
}
O(ans);
return false;
}