Pagini recente » Cod sursa (job #1490080) | Cod sursa (job #231191) | Cod sursa (job #1040888) | Cod sursa (job #828199) | Cod sursa (job #2685462)
#include <iostream>
#include <fstream>
#define NMax 100001
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int N, Sir[NMax], Lmax[NMax], Prev[NMax], MAX = 1, I = 1;
void afis_subsir(int i)
{
if(Prev[i] != 0)
afis_subsir(Prev[i]);
g << Sir[i] << ' ';
}
int main()
{
f >> N;
f >> Sir[1];
Lmax[1] = 1;
for(int i = 2; i <= N; i++)
{
f >> Sir[i];
for(int j = 1; j < i; j++)
if(Sir[j] < Sir[i] && Lmax[j] > Lmax[i])
{
Lmax[i] = Lmax[j];
Prev[i] = j;
}
Lmax[i]++;
if(Lmax[i] > MAX)
{
MAX = Lmax[i];
I = i;
}
}
g << MAX << '\n';
afis_subsir(I);
return 0;
}