#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int n, l = 0, r = 0;
int d[100010];
long long int ans = 0;
long long int money;
typedef struct node {
int no, zai;
}A;
A que[100010];
int main() {
cin >> n;
int tmp;
for (int i = 1; i <= n; i++) {
cin >> tmp;
if (tmp >= 0) {
money += tmp;
ans++;
int tmpi = i;
while (money >= que[l].zai && que[l].zai != 0) {
ans += abs(tmpi - que[l].no);
tmpi = que[l].no;
money -= que[l].zai;
l++;
}
ans += abs(i - tmpi);
}
else {
ans++;
if (money >= abs(tmp))
money -= abs(tmp);
else {
que[r++] = { i, -tmp };
}
}
}
cout << ans;
return 0;
}