BÀI 4 ĐỀ 3 (SPSEQ)

include <bits/stdc++.h>

using namespace std;
int n, i,l,r, d, res, a[100005], f1[100005], f2[100005];

void lis(int a[], int f[])
{
int b[100005];
fill(b+1, b+n+1, 1e9);
for(i = 1; i <= n; i++)
{
int v = lower_bound(b+1, b+n+1, a[i]) - b;
b[v] = a[i];
f[i] = v;
}
}

int main()
{
freopen("SPSEQ.inp","r",stdin);
freopen("SPSEQ.out","w",stdout);

cin >> n;
for(i = 1; i <= n; i++) cin >> a[i];
lis(a, f1);
reverse(a+1, a+n+1);
lis(a, f2);
for(i = 1; i <=n ;i++)
{
    res = max(res, min(f1[i], f2[n-i+1])*2-1);
}
    cout<<res;
return 0;

}

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.