Cod sursa(job #648376)

Utilizator IoanaMunteanIoana Muntean IoanaMuntean Data 13 decembrie 2011 12:09:29
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<stdio.h>
#include<iostream>
using namespace std;
int urm[100000];
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
 
int v[100000],n,i,j,a[100000],max, min, pozm, maxim=0;
 
scanf("%d", &n);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
a[n]=1;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(max<a[j] && v[i]<v[j])
max=a[j], urm[i]=j;
a[i]=max+1;
if(a[i]>maxim)
maxim=a[i], pozm=i;
}
printf("%d\n", maxim);
for(i=pozm;i!=0;i=urm[i]) printf("%d ", v[i]);


return 0;
}