Pagini recente » Cod sursa (job #2866483) | Cod sursa (job #2037) | Cod sursa (job #713476) | Cod sursa (job #2217963) | Cod sursa (job #687687)
Cod sursa(job #687687)
#include<stdio.h>
FILE *fin = fopen("scmax.in","r");
FILE *fout = fopen("scmax.out","w");
int indi,a[100001],nr[100001],urm[100001],ultim[100001],n,i,j,max;
int main()
{
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
fscanf(fin,"%d",&a[i]);
nr[n] = 1;
urm[n] = 0;
ultim[n] = a[n];
for(i=n-1;i>=1;i--)
{
for(j=i+1;j<=n;j++)
{
if(a[i]<a[j] && nr[j]+1>= max)
{
nr[i] = nr[j]+1;
urm[i] = j;
if(nr[i]>max)
max = nr[i],indi = i;
}
}
}
fprintf(fout,"%d\n",max);
while(urm[indi])
{
fprintf(fout,"%d ",a[indi]);
indi = urm[indi];
}
fprintf(fout,"%d ",a[indi]);
}