Pagini recente » Cod sursa (job #1451559) | Cod sursa (job #2762987) | Cod sursa (job #2520274) | Cod sursa (job #1026583) | Cod sursa (job #670063)
Cod sursa(job #670063)
#include<stdio.h>
int main()
{
int v[10],l[10],i,j,n,max;
FILE *f=fopen("scmax.in","rt");
FILE *g=fopen("scmax.out","wt");
fscanf(f,"%i",&n);
for(i=0;i<n;i++)
fscanf(f,"%i",&v[i]);
l[n-1]=1; //de la ultimul element se poate forma un sir de lungime 1
for(i=n-2;i>=0;i--)
{
max=0;
for(j=i+1;j<n;j++) //calculam pt fiecare nr scmax care se poate forma de la el
if(v[j]>v[i] && l[j]>max)
max=l[j];
l[i]=max + 1;
}
max=l[0];
int inc=0;
for(i=1;i<n;i++)
if(l[i]>max)
{
max=l[i];
inc=i;
}
fprintf(g,"%i\n%i ",max,v[inc]);
for(i=inc+1;i<n;i++)
if(v[i]>v[inc]&&l[i]==max-1)
{
fprintf(g,"%i ",v[i]);
max--;
}
return 0;
}