Cod sursa(job #984634)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 14 august 2013 22:29:25
Problema Subsir 2 Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>
int v[5005],d[5005];
unsigned a[5005],s[5005];
int main()
{
    freopen("subsir2.in","r",stdin);
    freopen("subsir2.out","w",stdout);
    unsigned n,i,m=0,k,j,p;
    int x;
    scanf("%u",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        for(j=1;j<=m;j++)
            if(v[i]<d[j])
            {
             d[j]=v[i];
             a[i]=j;
             break;
            }
            if(j==m+1)
            {
                m++;
                d[m]=v[i];
                a[i]=m;

            }
    }
    printf("%u\n",m);
s[n+1]=m+1;
for(i=n;i>=1;i--)
    if(s[i+1]==a[i]+1)
        s[i]=a[i];
        else
            s[i]=s[i+1];
        p=0;
        for(j=1;j<=m;j++)
        {
            x=1000002;
    for(i=p+1;i<=n;i++)
    if(a[i]==j && v[i]<x && s[i]==j)
    {
        x=v[i];
        p=i;
    }
    printf("%u ",p);
        }
    return 0;
}