//Hoang1264589
#include "bits/stdc++.h"
#define Task "TRIANGLE"
#define up(i,a,b) for (int i = (int)a; i <= (int)b; i++)
#define pii pair<int, int>
#define f first
#define s second
#define ep emplace_back
#define bit(x,i) ((x >> i) & 1)
using namespace std;
const int maxn = 1e5 + 10;
int a[maxn];
int n;
int spmax[17][maxn];
int spmin[17][maxn];
int tmin[17][maxn];
namespace Sub4{
bool compare_max(int x, int y){ return a[x] > a[y]; }
bool compare_min(int x, int y){ return a[x] < a[y]; }
void make_sparse(){
up(i,1,n){
spmax[0][i] = spmin[0][i] = i;
tmin[0][i] = 0;
}
for (int i = 1; (1 << i) <= n; i++){
for (int j = 1; j + (1 << i) - 1 <= n; j++){
if (compare_max(spmax[i-1][j], spmax[i-1][j + (1 << (i-1))])){
spmax[i][j] = spmax[i-1][j];
}
else spmax[i][j] = spmax[i-1][j + (1 << (i-1))];
int Lm = spmin[i-1][j];
int Rm = spmin[i-1][j + (1 << (i-1))];
int Lt = tmin[i-1][j];
int Rt = tmin[i-1][j + (1 << (i-1))];
if (compare_min(Lm, Rm)) spmin[i][j] = Lm;
else spmin[i][j] = Rm;
vector<int> temp = {};
temp.ep(Lm), temp.ep(Rm), temp.ep(Lt), temp.ep(Rt);
sort(temp.begin(), temp.end(), compare_min);
tmin[i][j] = temp[1];
}
}
}
int querymax(int L, int R){
int k = 31 - __builtin_clz(R - L + 1);
if (compare_max(spmax[k][L], spmax[k][R - (1 << k) + 1])){
return spmax[k][L];
}
return spmax[k][R - (1 << k) + 1];
}
pii querymin(int L, int R){
int k = 31 - __builtin_clz(R - L + 1);
const int& Lmin = spmin[k][L];
const int& Rmin = spmin[k][R - (1 << k) + 1];
int len = R - L + 1;
vector<int> save;
up(i,0,16){
if (bit(len, i)){
save.ep(spmin[i][L]);
save.ep(tmin[i][L]);
L += (1 << i);
}
}
sort(save.begin(), save.end(), compare_min);
if (compare_min(Lmin, Rmin)) return make_pair(Lmin, save[1]);
return make_pair(Rmin, save[1]);
}
bool check_longest(int len){
up(l,1,n){
int r = l+len;
if (r > n) break;
int MaxEle = querymax(l, r);
pii MinEle = querymin(l, r);
if (a[MinEle.f] + a[MinEle.s] > a[MaxEle]) return true;
}
return false;
}
void MAIN(){
make_sparse();
int L = 0;
int R = n+1;
while (R - L > 1){
int mid = (R+L) >> 1;
if (check_longest(mid)) L = mid;
else R = mid;
}
cout << R;
}
}
namespace Sub3{
void MAIN(){
int l = 1;
int r = 3;
int maxx = 0;
while (r != n){
if (r - l <= 2) ++r;
else if (a[l] + a[l+1] > a[r]){
maxx = max(maxx, r - l + 1);
++r;
}
else ++l;
}
if (a[l] + a[l+1] > a[r]) maxx = max(maxx, r - l + 1);
cout << maxx;
}
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
if (fopen(Task".inp", "r")){
freopen (Task".inp", "r", stdin);
freopen (Task".out", "w", stdout);
}
bool sorted = 1;
cin >> n;
up(i,1,n){
cin >> a[i];
if (i > 1 && a[i] < a[i-1]) sorted = 0;
}
a[0] = 1e9 + 7;
if (sorted) Sub3::MAIN();
else Sub4::MAIN();
}
Ly9Ib2FuZzEyNjQ1ODkKI2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCiNkZWZpbmUgVGFzayAiVFJJQU5HTEUiCiNkZWZpbmUgdXAoaSxhLGIpIGZvciAoaW50IGkgPSAoaW50KWE7IGkgPD0gKGludCliOyBpKyspCiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgZiBmaXJzdAojZGVmaW5lIHMgc2Vjb25kCiNkZWZpbmUgZXAgZW1wbGFjZV9iYWNrCiNkZWZpbmUgYml0KHgsaSkgKCh4ID4+IGkpICYgMSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBtYXhuID0gMWU1ICsgMTA7CmludCBhW21heG5dOwppbnQgbjsKCmludCBzcG1heFsxN11bbWF4bl07CmludCBzcG1pblsxN11bbWF4bl07CmludCB0bWluWzE3XVttYXhuXTsKbmFtZXNwYWNlIFN1YjR7CiAgICBib29sIGNvbXBhcmVfbWF4KGludCB4LCBpbnQgeSl7IHJldHVybiBhW3hdID4gYVt5XTsgfQogICAgYm9vbCBjb21wYXJlX21pbihpbnQgeCwgaW50IHkpeyByZXR1cm4gYVt4XSA8IGFbeV07IH0KCiAgICB2b2lkIG1ha2Vfc3BhcnNlKCl7CiAgICAgICAgdXAoaSwxLG4pewogICAgICAgICAgICBzcG1heFswXVtpXSA9IHNwbWluWzBdW2ldID0gaTsKICAgICAgICAgICAgdG1pblswXVtpXSA9IDA7CiAgICAgICAgfQogICAgICAgIGZvciAoaW50IGkgPSAxOyAoMSA8PCBpKSA8PSBuOyBpKyspewogICAgICAgICAgICBmb3IgKGludCBqID0gMTsgaiArICgxIDw8IGkpIC0gMSA8PSBuOyBqKyspewogICAgICAgICAgICAgICAgaWYgKGNvbXBhcmVfbWF4KHNwbWF4W2ktMV1bal0sIHNwbWF4W2ktMV1baiArICgxIDw8IChpLTEpKV0pKXsKICAgICAgICAgICAgICAgICAgICBzcG1heFtpXVtqXSA9IHNwbWF4W2ktMV1bal07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHNwbWF4W2ldW2pdID0gc3BtYXhbaS0xXVtqICsgKDEgPDwgKGktMSkpXTsKCiAgICAgICAgICAgICAgICBpbnQgTG0gPSBzcG1pbltpLTFdW2pdOwogICAgICAgICAgICAgICAgaW50IFJtID0gc3BtaW5baS0xXVtqICsgKDEgPDwgKGktMSkpXTsKICAgICAgICAgICAgICAgIGludCBMdCA9IHRtaW5baS0xXVtqXTsKICAgICAgICAgICAgICAgIGludCBSdCA9IHRtaW5baS0xXVtqICsgKDEgPDwgKGktMSkpXTsKCiAgICAgICAgICAgICAgICBpZiAoY29tcGFyZV9taW4oTG0sIFJtKSkgc3BtaW5baV1bal0gPSBMbTsKICAgICAgICAgICAgICAgIGVsc2Ugc3BtaW5baV1bal0gPSBSbTsKCiAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiB0ZW1wID0ge307CiAgICAgICAgICAgICAgICB0ZW1wLmVwKExtKSwgdGVtcC5lcChSbSksIHRlbXAuZXAoTHQpLCB0ZW1wLmVwKFJ0KTsKICAgICAgICAgICAgICAgIHNvcnQodGVtcC5iZWdpbigpLCB0ZW1wLmVuZCgpLCBjb21wYXJlX21pbik7CiAgICAgICAgICAgICAgICB0bWluW2ldW2pdID0gdGVtcFsxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBpbnQgcXVlcnltYXgoaW50IEwsIGludCBSKXsKICAgICAgICBpbnQgayA9IDMxIC0gX19idWlsdGluX2NseihSIC0gTCArIDEpOwogICAgICAgIGlmIChjb21wYXJlX21heChzcG1heFtrXVtMXSwgc3BtYXhba11bUiAtICgxIDw8IGspICsgMV0pKXsKICAgICAgICAgICAgcmV0dXJuIHNwbWF4W2tdW0xdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gc3BtYXhba11bUiAtICgxIDw8IGspICsgMV07CiAgICB9CiAgICBwaWkgcXVlcnltaW4oaW50IEwsIGludCBSKXsKICAgICAgICBpbnQgayA9IDMxIC0gX19idWlsdGluX2NseihSIC0gTCArIDEpOwogICAgICAgIGNvbnN0IGludCYgTG1pbiA9IHNwbWluW2tdW0xdOwogICAgICAgIGNvbnN0IGludCYgUm1pbiA9IHNwbWluW2tdW1IgLSAoMSA8PCBrKSArIDFdOwoKICAgICAgICBpbnQgbGVuID0gUiAtIEwgKyAxOwogICAgICAgIHZlY3RvcjxpbnQ+IHNhdmU7CiAgICAgICAgdXAoaSwwLDE2KXsKICAgICAgICAgICAgaWYgKGJpdChsZW4sIGkpKXsKICAgICAgICAgICAgICAgIHNhdmUuZXAoc3BtaW5baV1bTF0pOwogICAgICAgICAgICAgICAgc2F2ZS5lcCh0bWluW2ldW0xdKTsKICAgICAgICAgICAgICAgIEwgKz0gKDEgPDwgaSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc29ydChzYXZlLmJlZ2luKCksIHNhdmUuZW5kKCksIGNvbXBhcmVfbWluKTsKICAgICAgICBpZiAoY29tcGFyZV9taW4oTG1pbiwgUm1pbikpIHJldHVybiBtYWtlX3BhaXIoTG1pbiwgc2F2ZVsxXSk7CiAgICAgICAgcmV0dXJuIG1ha2VfcGFpcihSbWluLCBzYXZlWzFdKTsKICAgIH0KCiAgICBib29sIGNoZWNrX2xvbmdlc3QoaW50IGxlbil7CiAgICAgICAgdXAobCwxLG4pewogICAgICAgICAgICBpbnQgciA9IGwrbGVuOwogICAgICAgICAgICBpZiAociA+IG4pIGJyZWFrOwogICAgICAgICAgICBpbnQgTWF4RWxlID0gcXVlcnltYXgobCwgcik7CiAgICAgICAgICAgIHBpaSBNaW5FbGUgPSBxdWVyeW1pbihsLCByKTsKICAgICAgICAgICAgaWYgKGFbTWluRWxlLmZdICsgYVtNaW5FbGUuc10gPiBhW01heEVsZV0pIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgdm9pZCBNQUlOKCl7CiAgICAgICAgbWFrZV9zcGFyc2UoKTsKICAgICAgICBpbnQgTCA9IDA7CiAgICAgICAgaW50IFIgPSBuKzE7CiAgICAgICAgd2hpbGUgKFIgLSBMID4gMSl7CiAgICAgICAgICAgIGludCBtaWQgPSAoUitMKSA+PiAxOwogICAgICAgICAgICBpZiAoY2hlY2tfbG9uZ2VzdChtaWQpKSBMID0gbWlkOwogICAgICAgICAgICBlbHNlIFIgPSBtaWQ7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgUjsKICAgIH0KfQoKbmFtZXNwYWNlIFN1YjN7CiAgICB2b2lkIE1BSU4oKXsKICAgICAgICBpbnQgbCA9IDE7CiAgICAgICAgaW50IHIgPSAzOwogICAgICAgIGludCBtYXh4ID0gMDsKICAgICAgICB3aGlsZSAociAhPSBuKXsKICAgICAgICAgICAgaWYgKHIgLSBsIDw9IDIpICsrcjsKICAgICAgICAgICAgZWxzZSBpZiAoYVtsXSArIGFbbCsxXSA+IGFbcl0pewogICAgICAgICAgICAgICAgbWF4eCA9IG1heChtYXh4LCByIC0gbCArIDEpOwogICAgICAgICAgICAgICAgKytyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgKytsOwogICAgICAgIH0KICAgICAgICBpZiAoYVtsXSArIGFbbCsxXSA+IGFbcl0pIG1heHggPSBtYXgobWF4eCwgciAtIGwgKyAxKTsKICAgICAgICBjb3V0IDw8IG1heHg7CiAgICB9Cn0KCnNpZ25lZCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICBpZiAoZm9wZW4oVGFzayIuaW5wIiwgInIiKSl7CiAgICAgICAgZnJlb3BlbiAoVGFzayIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbiAoVGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIGJvb2wgc29ydGVkID0gMTsKICAgIGNpbiA+PiBuOwogICAgdXAoaSwxLG4pewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIGlmIChpID4gMSAmJiBhW2ldIDwgYVtpLTFdKSBzb3J0ZWQgPSAwOwogICAgfQogICAgYVswXSA9IDFlOSArIDc7CgogICAgaWYgKHNvcnRlZCkgU3ViMzo6TUFJTigpOwogICAgZWxzZSBTdWI0OjpNQUlOKCk7Cn0=