Cod sursa(job #800065)

Utilizator cat_red20Vasile Ioana cat_red20 Data 20 octombrie 2012 17:34:48
Problema Subsir 2 Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
int s[5001],v[5001],n,u;
FILE *fin,*fout;

void citire()
{
    fin=fopen("subsir2.in","r");
    fscanf(fin,"%d",&n);
    for(int i=1;i<=n;i++)
    {
        fscanf(fin,"%d",&v[i]);
    }
}

void afisare()
{
    fout=fopen("subsir2.out","w");
    fprintf(fout,"%d\n",u);
    for(int i=1;i<=u;i++)
    {
        fprintf(fout,"%d ",s[i]);
    }
}

int main()
{
    citire();
    s[1]=1;
    u=1;
    for(int i=2;i<=n;i++)
    {
        while(v[i]<v[s[u]] && u>0)
        {
            u--;
        }
        u++;
        s[u]=i;
    }
    afisare();
    return 0;
}