Pagini recente » Cod sursa (job #2776000) | Cod sursa (job #170586) | Cod sursa (job #895575) | Cod sursa (job #910327) | Cod sursa (job #2972472)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[100001] , b[100001] , n,maxim=0;
int main(){
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
b[n]=0;
for(int i=n;i>=1;i--)
{ b[i] = 1;
for(int j = i + 1 ; j <= n; j++)
if(a[i] < a[j] && b[i] < b[j] + 1)
{b[i] = b[j] + 1;maxim=max(maxim,b[i]);}}
fout<<maxim<<endl;
for(int i=1;i<=n;i++)
{if(b[i]==maxim)
{fout<<a[i]<<" ";maxim--;}}
}