Pagini recente » Cod sursa (job #2606074) | Cod sursa (job #2576053) | Cod sursa (job #2636984) | Cod sursa (job #553061) | Cod sursa (job #2457669)
#include <bits/stdc++.h>
using namespace std;
int v[100005], l[100005], preds[100005], n, ml = 0, maxl;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
void f(int i) {
if(preds[i] != -1) {
f(preds[i]);
}
(fout << v[i]).put(' ');
}
int main() {
int i, j, k;
fin >> n;
for(i = 0; i < n; ++i) {
fin >> v[i]; k = 0; preds[i] = -1;
for(j = 0; j < i; ++j) {
if(v[j] < v[i] && k < l[j]) {
k = l[j];
preds[i] = j;
}
}
l[i] = 1 + k;
if(l[ml] < l[i]) ml = i;
}
(fout << l[ml]).put('\n');
f(ml);
}