| 比赛 |
期末考试1 |
评测结果 |
AAWWWWWWWW |
| 题目名称 |
Interactive |
最终得分 |
20 |
| 用户昵称 |
yyswys |
运行时间 |
0.360 s |
| 代码语言 |
C++ |
内存使用 |
6.10 MiB |
| 提交时间 |
2026-02-08 11:35:05 |
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
int n,k,q,a[N],s[N],f[N],d[N];
signed main(){
freopen("tioj_interactive.in","r",stdin);
freopen("tioj_interactive.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>k;
for(int i(1);i<=n;++i){
cin>>a[i];
s[i]=s[i-1]+a[i];
}
cin>>q;
if(k<=0){
for(int i(1);i<=q;++i){
int x;
cin>>x;
cout<<n-x+1<<"\n";
}
return 0;
}
if(n<=1000&&q<=1000){
for(int j(1);j<=n;++j){
for(int i(j);i>=1;--i){
if(s[j]-s[i-1]>=k){
f[j]=i;
break;
}
}
}
for(int i(1);i<=n;++i){
d[i]=max(d[i-1],f[i]);
}
for(int i(1);i<=q;++i){
int x,ans=0;
cin>>x;
for(int r(1);r<=n;++r){
int l=max(1ll,r-x+1);
if(l<=d[r]){
ans+=d[r]-l+1;
}
}
cout<<ans<<"\n";
}
}else{
if(k==1){
}else{
}
}
return 0;
}