Pagini recente » Cod sursa (job #2561224) | Cod sursa (job #1009661) | Cod sursa (job #958583) | Cod sursa (job #1821788) | Cod sursa (job #270117)
Cod sursa(job #270117)
#include<stdio.h>
int v[100000],din[100000],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;
}