Pagini recente » Borderou de evaluare (job #808690) | Borderou de evaluare (job #3343036) | Borderou de evaluare (job #808682) | Borderou de evaluare (job #808671) | Cod sursa (job #809232)
Cod sursa(job #809232)
#include <cstdio>
#include <set>
#include <map>
using namespace std;
inline int next_int() {
int d;
scanf("%d", &d);
return d;
}
multiset<int> S;
multiset<int>::iterator it;
map<int, int> P;
void dfs(int x) {
if (P.count(x) && P[x] >= 0) {
dfs(P[x]);
}
printf("%d\n", x);
}
int main() {
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
int n = next_int();
while (n--) {
int x = next_int();
S.insert(x);
it = S.lower_bound(x);
if (++it != S.end()) {
S.erase(it);
}
}
printf("%d\n", int(S.size()));
return 0;
}