fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5.  
  6. ll rs(vector<ll>& sum, int l, int r) {
  7. return sum[r]-(l?sum[l-1]:0);
  8. }
  9.  
  10. int main() {
  11. int n;
  12. cin>>n;
  13. vector<ll> a(n);
  14. for(int i=0;i<n;++i) {
  15. cin>>a[i];
  16. }
  17.  
  18. vector<ll> sum(n,0);
  19. sum[0]=a[0];
  20. for(int i=1;i<n;++i) {
  21. sum[i]=sum[i-1]+a[i];
  22. }
  23.  
  24. vector<ll> R(n,0), L(n,0);
  25. R[n-1]=a[n-1];
  26. for(int i=n-2;i>=0;i--) {
  27. R[i]=min(R[i+1]+a[i], a[i]);
  28.  
  29. }
  30.  
  31. L[0]=a[0];
  32. for(int i=1;i<n;++i) {
  33. L[i]=min(L[i-1], sum[i]);
  34. }
  35.  
  36. int ans=0;
  37. for(int i=0;i<n;++i) {
  38.  
  39. if(R[i]>=0 && rs(sum,i,n-1)+L[i-1]>=0) {
  40. ans++;
  41. }
  42. }
  43.  
  44. cout<<ans<<"\n";
  45.  
  46. return 0;
  47. }
  48.  
Runtime error #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty