Pagini recente » Cod sursa (job #1123725) | Cod sursa (job #159166) | Cod sursa (job #1446965) | Cod sursa (job #1075638) | Cod sursa (job #2350645)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int main()
{
int n, a[100000], b[100000];
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(int i=0; i<n; i++)
{
f>>a[i];
b[i]=1;
for(int j=i-1; j>=0; j--)
{
if(a[j]<a[i] && b[j]+1>=b[i]+1)
b[i]=b[j]+1;
}
}
int nr = 0;
for(int i=0; i<n; i++)
nr = max(nr, b[i]);
g<<nr<<"\n";
int aux = nr, c[100000];
for(int i=n-1; i>=0; i--)
if(b[i]==nr)
c[nr--] = a[i];
for(int i=1; i<=aux; i++)
g<<c[i]<<' ';
return 0;
}