Cod sursa(job #674250)

Utilizator Tux2NicolaeTelechi Nicolae Tux2Nicolae Data 5 februarie 2012 21:31:40
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
#define max(a,b)((a)>(b)?(a):(b))
#define dim 100010
int n,v[dim],sc[dim],urm[dim];

int main(){
    int i,j,max=0;
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++){ scanf("%d",&v[i]); sc[i]=1; }
    for(i=n-1;i>=1;i--){
        for(j=i+1;j<=n;j++){
            if(v[j]>v[i] && sc[j]+1>sc[i]){
                sc[i]=sc[j]+1;
                urm[i]=j;
                max=max(max,sc[i]);
            }
        }
    }
    printf("%d\n",max);
    for(i=2;i!=0;i=urm[i]) printf("%d ",v[i]);
}