Cod sursa(job #448145)

Utilizator andrei123Andrei Draga - UPB andrei123 Data 2 mai 2010 21:23:51
Problema Subsir crescator maximal Scor 0
Compilator c Status done
Runda 000000 Marime 0.88 kb
#include<stdio.h>
#include<stdlib.h>
int P[1040][1040];
int main()
{
    FILE *f,*g;
    int a,b,*v,*w,i,j,ok,*v1,*w1,i1,j1,*v2,*w2;
    f=fopen("scmax.in","r");
    g=fopen("scmax.out","w");
    fscanf(f,"%d",&a);
    v=(int*)malloc(a*sizeof(int));
    for(i=0;i<a;i++)
        fscanf(f,"%d",&v[i]);

int valmax=0,hi=0,max=0,M=0;
for(i=0;i<a-1;i++)
{
    printf("--i=%d--",i);
    hi=0;
    max=v[i];
    for(j=i+1;j<a;j++)
        if(max<v[j])
        {
            P[i][hi]=max;printf("P[%d][%d]=%d\n",i,hi,P[i][hi]);
            P[i][hi+1]=v[j];
            max=v[j];
            hi++;
        }
    if(valmax<hi+1)
    {
        valmax=hi+1;
        M=i;
    }
}


printf("valmax=%d\n",valmax);
if(valmax==0)
{fprintf(g,"%d",0); return;}


fprintf(g,"%d\n",valmax);
for(i=0;i<valmax-1;i++)
    fprintf(g,"%d ",P[M][i]);
fprintf(g,"%d",P[M][valmax-1]);

    free(v);
    fclose(f);
    fclose(g);
}