Pagini recente » Cod sursa (job #1866108) | Cod sursa (job #1758236) | Cod sursa (job #1571608) | Cod sursa (job #818360) | Cod sursa (job #3251086)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100005], dp[100005], len=0, a[100005];
int main()
{
int n;
fin >> n;
for(int i=1; i<=n; i++) {
fin >> v[i];
}
for(int i=1; i<=n; i++) {
if(v[i]>dp[len]) {
len++;
dp[len]=v[i];
a[len]=a[len-1];
} else {
auto x=upper_bound(dp+1, dp+len+1, v[i]);
dp[x-dp]=v[i];
a[x-dp]=dp[x-dp-1];
}
}
fout << len;
/*for(int i=1; i<=n; i++) {
fout << dp[i] << " ";
}
fout << "\n";
for(int i=1; i<=n; i++) {
fout << a[i] << " ";
}*/
return 0;
}