Pagini recente » Cod sursa (job #1881387) | Cod sursa (job #1824589) | Cod sursa (job #1265484) | Statistici Iaru Alexandru-Bogdan (Iaru_Alexandru_Bogdan_323CA) | Cod sursa (job #2354948)
#include <fstream>
#define LMAX 1000005
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[LMAX], lg[LMAX], succ[LMAX];
int inc, lgmax;
int n;
int main()
{
int i, j;
fin >> n;
for (i = 1; i <= n; i ++)
{
fin >> a[i];
lg[i] = 1;
}
for (i = n - 1; i >= 1; i --)
{
for (j = i + 1; j <= n; j ++)
if (a[j] > a[i] && lg[j] + 1 > lg[i])
{
lg[i] = lg[j] + 1;
succ[i] = j;
}
}
for (i = 1; i <= n; i ++)
if (lg[i] > lgmax)
{
inc = i;
lgmax = lg[i];
}
fout << lgmax << '\n';
for (i = 1; i <= lgmax; i ++)
{
fout << a[inc] << ' ';
inc = succ[inc];
}
return 0;
}