比赛 期末考试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;
}