记录
#include<bits/stdc++.h>
using namespace std;
long long nxt[200200],s[200200],n,q,a[200200];
int main(){
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum=0,ji=-1;
for(int i=1;i<=n;i++){
if(a[i]>0){
sum+=a[i];
s[i]=s[ji]+1;
ji=i;
int j=i-1;
while(sum+a[j]>0&&a[j]<=0&&j>=1){
sum+=a[j];
s[i]++;
j--;
}
}
else{
sum=0;
s[i]=s[i-1];
}
}
for(int i=n;i>=1;i--){
nxt[i]=nxt[i+1];
if(a[i]>0){
nxt[i]=i;
}
}
while(q--){
int l,r,ans=0,sum=0;
cin>>l>>r;
ans=s[r]-s[l-1];
sum=a[nxt[l]];
for(int i=nxt[l]-1;i>=1;i--){
sum+=a[i];
if(a[i]>0||sum<=0){
break;
}
else if(i<l){
ans--;
if(!ans){
break;
}
}
}
if(ans<0){
cout<<0<<endl;
}
else{
cout<<ans<<endl;
}
}
return 0;
}