Pagini recente » Cod sursa (job #1849171) | Cod sursa (job #1071073) | Cod sursa (job #2637750) | Cod sursa (job #818444) | Cod sursa (job #2566612)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream f("scmax.in");;
ofstream g("scmax.out");
int n, i, j, a[100010], k;
vector<int > b;
int main()
{
f >> n;
for (i = 1; i <= n; ++i)
{
f >> a[i];
if (!b.empty())
{
if (a[i] > b.back())
b.push_back(a[i]);
else
{
k = upper_bound(b.begin(), b.end(), a[i]) - b.begin();
b[k] = a[i];
}
}
else
b.push_back(a[i]);
}
g << b.size();
return 0;
}