Pagini recente » Cod sursa (job #1052475) | Cod sursa (job #1313594) | Cod sursa (job #926492) | Cod sursa (job #2326634) | Cod sursa (job #488710)
Cod sursa(job #488710)
#include<stdio.h>
FILE*f=fopen("scmax.in","r");
FILE*g=fopen("scmax.out","w");
int n,i,v[100001],j,max,max1,z,m[100001],x[100001];
int main() {
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
m[1]=1;
max1=1;
for(i=2;i<=n;i++){
max=0;
for(j=1;j<i;j++)
if(m[j]>max&&v[j]<v[i]){
max=m[j];
x[i]=j;
}
m[i]=max+1;
if(m[i]>max1){
max1=m[i];
z=i;
}
}
fprintf(g,"%d\n",max1);
i=z;
j=1;
m[1]=v[i];
while(x[i]!=0){
m[++j]=v[x[i]];
i=x[i];
}
for(i=j;i>0;i--)
fprintf(g,"%d ",m[i]);
fclose(g);
fclose(f);
return 0;
}