WA on #2,#9,#12 求助!
#include<bits/stdc++.h>
using namespace std;
const int N=2e6+5;
int a[N],s[N],ans;
deque<int> q;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
a[i+n]=a[i];
}
int n1=2*n-1;
for(int i=1;i<=n1;i++) s[i]=s[i-1]+a[i];
for(int i=1;i<=n1;i++){
while(!q.empty()&&max(i-n+1,1)>q.front()) q.pop_front();
while(!q.empty()&&s[i]<=s[q.back()]) q.pop_back();
q.push_back(i);
if(i>=n+1&&s[q.front()]>=s[i-n]){
ans++;
}
}
cout<<ans;
return 0;
}