Pagini recente » Cod sursa (job #1231001) | Cod sursa (job #2581080) | Cod sursa (job #279777) | Cod sursa (job #2627441) | Cod sursa (job #1951534)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
unsigned long long v[100000], l[100000], poz[100000], m;
unsigned n, prim;
int main() {
unsigned i, j;
fin >> n;
for (i = 1; i <= n; i++)
fin >> v[i];
for (i = n; i >= 1; i--) {
l[i] = 1;
poz[i] = 0;
for (j = i + 1; j <= n; j++)
if (v[i] < v[j] && l[i] < 1 + l[j]) {
l[i] = 1 + l[j];
poz[i] = j;
}
if (m < l[i]) {
m = l[i];
prim = i;
}
}
fout << m << '\n';
for (i = prim; i >= 1; i = poz[i])
fout << v[i] << ' ';
fout << '\n';
fin.close();
fout.close();
return 0;
}