Cod sursa(job #612292)

Utilizator MirceampMuresan Mircea Paul Mirceamp Data 6 septembrie 2011 17:18:52
Problema Subsir crescator maximal Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.86 kb
#include <stdio.h>
#include <stdlib.h>
#define Max 100001

int n,part[Max],best[Max],lmax;
void copiere(int n)
{
    int i;
    for(i = 1; i < n; i++)
    best[i] = part[i];
}
int main()
{
    FILE *fpin,*fpout;
    int i,k,x;

    fpin = fopen("scmax.in","r");
    fpout = fopen("scmax.out","w");

    k = 1;

    fscanf(fpin,"%d",&n);

    fscanf(fpin,"%d",&part[k++]);

    for(i = 2; i <= n; i++)
    {
        fscanf(fpin,"%d",&x);
        if(x > part[k-1])
        part[k++] = x;
        else if(x < part[k-1])
        {
            if(k -1 > lmax)
            copiere(k);
            lmax = k-1;
            k = 1;
            part[k] = x;
            k++;
        }
    }

    fprintf(fpout,"%d\n",lmax);

    for(i = 1; i <= lmax; i++)
    fprintf(fpout,"%d ",best[i]);

fclose(fpin);
fclose(fpout);

    return 0;
}