Cod sursa(job #1003170)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 29 septembrie 2013 21:12:46
Problema Subsir crescator maximal Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
unsigned v[100005],d[100005],s[100005],x[100005];
int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
    unsigned n,i,j,m=0;
    scanf("%u",&n);
    for(i=1;i<=n;i++)
    {
    scanf("%u",&x[i]);
    for(j=1;j<=m;j++)
        if(x[i]<=d[j])
    {
        d[j]=x[i];
        v[i]=j;
        break;
    }
    if(j>m)
    {
        m++;
        v[i]=m;
        d[m]=x[i];
    }
    }
    j=m;
    for(i=n;i>=1;i--)
        if(v[i]==m)
    {
        s[m]=x[i];
        m--;
    }
    printf("%u\n",j);
    for(i=1;i<=j;i++)
        printf("%u ",s[i]);
    return 0;
}