#include using namespace std; int main(){ int N; cin >> N; vector a(N); for (int i = 0; i < N; i++){ cin >> a[i]; } multiset st; st.insert(a[0]); int r = 1; long long ans = 0; for (int l = 0; l < N - 1; l++){ while (r < N){ st.insert(a[r]); int m1 = *st.begin(); int m2 = *next(st.begin()); int M = *prev(st.end()); if (M > m1 + m2){ st.erase(st.find(a[r])); break; } else { r++; } } ans += r - l - 1; st.erase(st.find(a[l])); } cout << ans << endl; }