35求调
查看原帖
35求调
774384
Misaka_mzany楼主2023/10/2 13:04

如题如题,后面的全T了

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll arr[200005],s[200005];
int main(){
	int n,q;
	scanf("%d%d",&n,&q);
	for(int i=1;i<=n;i++){
		scanf("%lld",&arr[i]);
		s[i]=s[i-1]+arr[i];
	}
	while(q--){
		int l,r;
		ll cnt=0;
		scanf("%d%d",&l,&r);
		for(int i=r;i>=l;i--){
			if(arr[i]>0){
				cnt++;
				int a=arr[i];
				int j=i-1;
				while((arr[j]<=0&&j>=l)&&a>0){
					a+=arr[j];
					if(a>0)cnt++;	
					j--;
				}
			}
		}
		printf("%lld\n",cnt);
	}
	return 0;
} 

可能代码写得有点难看。。。。

2023/10/2 13:04
加载中...