Cod sursa(job #672135)

Utilizator iulian131Moldovan Iulian iulian131 Data 1 februarie 2012 17:37:04
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <stdio.h>

FILE *c,*s;
int n,sir[100],solutie[100],temp[100];

int citeste()
{
    c = fopen("scmax.in","r");
    s = fopen("scmax.out","w");
    fscanf(c,"%d",&n);
    for(int i=1;i<=n;i++)
        fscanf(c,"%d",&sir[i]);
}

void rezolvare()
{
    int j,suma;
    for(int h=1;h<=n;h++)
    {
        temp[1] = h;
        suma = 1;
        j = 2;
        for(int i=h+1;i<=n;i++)
        {
            if(sir[temp[j-1]] < sir[i])
            {
                temp[j] = i;
                j++;
                suma++;
            }
        }
        if(suma > solutie[0])
        {
            solutie[0] = suma;
            for(int i=1;i<=suma;i++)
                solutie[i] = temp[i];
        }
    }
}

void afisare()
{
    fprintf(s,"%d\n",solutie[0]);
    for(int i=1;i<=solutie[0];i++)
        fprintf(s,"%d ",sir[solutie[i]]);
}

int main()
{
    citeste();
    rezolvare();
    afisare();
    return 0;
}