Pagini recente » Cod sursa (job #324936) | Cod sursa (job #642303) | Cod sursa (job #2288375) | Cod sursa (job #2971892) | Cod sursa (job #2620563)
#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++) {
for (int j = 1; j < i; j++)
if (v[j] < v[i] && sol[j] > sol[i]) {
sol[i] = sol[j];
ant[i] = j;
}
sol[i]++;
}
fout << sol[n] << '\n';
afisare(n);
return 0;
}