Pagini recente » Cod sursa (job #1356057) | Cod sursa (job #1167958) | Cod sursa (job #2449856) | Cod sursa (job #964077) | Cod sursa (job #547892)
Cod sursa(job #547892)
#include <iostream>
#include <fstream>
using namespace std;
long long n , x[100005] , best[100005] , cont , sir[100005];
int main ()
{
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int max = 0;
f >> n;
for (long long i = 1 ; i <= n ; ++i)
f >> x[i];
best[1] = 1;
for (long long i = 2 ; i <= n ; ++i)
{
cont = 0;
for (long long j = 1 ; j < i ; ++j)
if (x[j] < x[i] && best[j] < best[j + 1] + 1)
{
cont++;
sir[cont] = x[j];
}
cont++;
best[i] = cont;
sir[cont] = x[i];
if (best[i] + 1 > max)
max = best[i] + 1;
}
g << max << "\n";
for (long long i = 1 ; i <= max ; ++i)
g << sir[i] << " ";
g << "\n";
return 0;
}