Cod sursa(job #270113)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 3 martie 2009 19:20:06
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
int v[1000],din[1000],i,max=0,indice,j,n,max1;

int main(){

FILE*f=fopen("scmax.in","r");
FILE*g=fopen("scmax.out","w");

fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
    fscanf(f,"%d",&v[i]);


din[n]=1;
for(i=n-1;i>=1;i--)
{

max=0;


for(j=i+1;j<=n;j++)
    if (v[i]<v[j])
       if(din[j]>max) max=din[j];



din[i]=max+1;

if(din[i]>max1)
	    {
	     max1=din[i];
	     indice=i;
	    }


}

fprintf(g,"%d\n%d ",max1,v[indice]);
 max1--;
for (i=indice+1;i<=n;i++)

if (v[indice]<v[i]&&max1==din[i])
       {
	indice=i;

	fprintf(g,"%d ",v[i]);
	max1--;}


fclose(f);
fclose(g);
return 0;
}