Pagini recente » Cod sursa (job #3164043) | Cod sursa (job #172784) | Rating Lungu Alexandru Ioan (llalexandru) | Cod sursa (job #1823675) | Cod sursa (job #2620564)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, v[100002], sol[100002], ant[100002];
void afisare(int index) {
if (index == 0)
return;
afisare(ant[index]);
fout << v[index] << ' ';
}
int main() {
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
sol[1] = 1;
for (int i = 2; i <= n; i++) {
int best = 0;
for (int j = 1; j < i; j++)
if (v[j] < v[i] && sol[j] > best) {
best = sol[j];
ant[i] = j;
}
sol[i] = best + 1;
}
fout << sol[n] << '\n';
afisare(n);
return 0;
}