Cod sursa(job #644448)

Utilizator Cristina94Cristina Ungurean Cristina94 Data 6 decembrie 2011 17:36:06
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>
#include<iostream>
using namespace std;
int next[100000];
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
 
int x[100000],n,i,j,lis[100000],max, min, pozm, maxim=0;
 
scanf("%d", &n);
for(i=1;i<=n;i++)
scanf("%d", &x[i]);
lis[n]=1;
//next[n]=n+1;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(max<lis[j] && x[i]<x[j])
max=lis[j], next[i]=j;
lis[i]=max+1;
if(lis[i]>maxim)
maxim=lis[i], pozm=i;
}
printf("%d\n", maxim);
for(i=pozm;i!=0;i=next[i]) printf("%d ", x[i]);


return 0;
}