#include<bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define sz(s) (int)s.size()
#define FOR(i,a,b) for(int i=a;i<=b;++i)
#define REP(i,a,b) for(int i=a;i>=b;--i)
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int N = 3e5 + 5;
const int mod = 1e9 + 7;
const int base = 31;
const ll INF = 1e18;
/// CODE ///
int n;
ll a[N], pre[N];
namespace Sub1{
bool checkSub1(){
return n <= 1000;
}
void solveSub1(){
int cnt = 0;
FOR(i, 1, n){
ll mx = -1;
ll sum = 0;
FOR(j, i, n){
mx = max(mx, a[j]);
sum += a[j];
if (2 * mx > sum) cnt++;
}
}
cout << cnt;
}
}
namespace Sub2{
bool checkSub2(){
FOR(i, 1, n) if (a[i] < a[i-1]) return 0;
return 1;
}
void solveSub2(){
ll cnt = 0;
FOR(i, 1, n){
int l = 1, r = i, ans = -1;
while (l <= r){
int mid = (l + r) / 2;
if (2 * a[i] > pre[i] - pre[mid - 1]){
ans = mid;
r = mid - 1;
} else l = mid + 1;
}
cnt += (i - l + 1);
}
cout << cnt;
}
}
void input(){
cin >> n;
FOR(i, 1, n) cin >> a[i];
FOR(i, 1, n) pre[i] = pre[i-1] + a[i];
}
signed main(){
#define NAME "max"
if (fopen(NAME".inp", "r")){
freopen(NAME".inp", "r", stdin);
freopen(NAME".out", "w", stdout);
}
ios_base::sync_with_stdio(false); cin.tie(nullptr);
input();
if (Sub1::checkSub1()) return Sub1::solveSub1(), 0;
if (Sub2::checkSub2()) return Sub2::solveSub2(), 0;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHN6KHMpIChpbnQpcy5zaXplKCkKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihpbnQgaT1hO2k8PWI7KytpKQojZGVmaW5lIFJFUChpLGEsYikgZm9yKGludCBpPWE7aT49YjstLWkpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdXNpbmcgbGwgPSBsb25nIGxvbmc7CnVzaW5nIHBpaSA9IHBhaXI8aW50LCBpbnQ+OwoKY29uc3QgaW50IE4gPSAzZTUgKyA1Owpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50IGJhc2UgPSAzMTsKY29uc3QgbGwgSU5GID0gMWUxODsKCi8vLyBDT0RFIC8vLwppbnQgbjsKbGwgYVtOXSwgcHJlW05dOwoKCm5hbWVzcGFjZSBTdWIxewogICAgYm9vbCBjaGVja1N1YjEoKXsKICAgICAgICByZXR1cm4gbiA8PSAxMDAwOwogICAgfQoKICAgIHZvaWQgc29sdmVTdWIxKCl7CiAgICAgICAgaW50IGNudCA9IDA7CgogICAgICAgIEZPUihpLCAxLCBuKXsKICAgICAgICAgICAgbGwgbXggPSAtMTsKICAgICAgICAgICAgbGwgc3VtID0gMDsKICAgICAgICAgICAgRk9SKGosIGksIG4pewogICAgICAgICAgICAgICAgbXggPSBtYXgobXgsIGFbal0pOwogICAgICAgICAgICAgICAgc3VtICs9IGFbal07CiAgICAgICAgICAgICAgICBpZiAoMiAqIG14ID4gc3VtKSBjbnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGNudDsKICAgIH0KfQoKbmFtZXNwYWNlIFN1YjJ7CiAgICBib29sIGNoZWNrU3ViMigpewogICAgICAgIEZPUihpLCAxLCBuKSBpZiAoYVtpXSA8IGFbaS0xXSkgcmV0dXJuIDA7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgdm9pZCBzb2x2ZVN1YjIoKXsKICAgICAgICBsbCBjbnQgPSAwOwogICAgICAgIEZPUihpLCAxLCBuKXsKICAgICAgICAgICAgaW50IGwgPSAxLCByID0gaSwgYW5zID0gLTE7CiAgICAgICAgICAgIHdoaWxlIChsIDw9IHIpewogICAgICAgICAgICAgICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgICAgICAgICAgICAgaWYgKDIgKiBhW2ldID4gcHJlW2ldIC0gcHJlW21pZCAtIDFdKXsKICAgICAgICAgICAgICAgICAgICBhbnMgPSBtaWQ7CiAgICAgICAgICAgICAgICAgICAgciA9IG1pZCAtIDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgbCA9IG1pZCArIDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNudCArPSAoaSAtIGwgKyAxKTsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgY250OwogICAgfQp9Cgp2b2lkIGlucHV0KCl7CiAgICBjaW4gPj4gbjsKICAgIEZPUihpLCAxLCBuKSBjaW4gPj4gYVtpXTsKICAgIEZPUihpLCAxLCBuKSBwcmVbaV0gPSBwcmVbaS0xXSArIGFbaV07Cn0KCnNpZ25lZCBtYWluKCl7CiAgICAjZGVmaW5lIE5BTUUgIm1heCIKICAgIGlmIChmb3BlbihOQU1FIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKE5BTUUiLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oTkFNRSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUobnVsbHB0cik7CgogICAgaW5wdXQoKTsKICAgIGlmIChTdWIxOjpjaGVja1N1YjEoKSkgcmV0dXJuIFN1YjE6OnNvbHZlU3ViMSgpLCAwOwogICAgaWYgKFN1YjI6OmNoZWNrU3ViMigpKSByZXR1cm4gU3ViMjo6c29sdmVTdWIyKCksIDA7CgoKICAgIHJldHVybiAwOwp9Cgo=