Pagini recente » Cod sursa (job #428701) | Cod sursa (job #1450838) | Cod sursa (job #2063336) | Cod sursa (job #1145753) | Cod sursa (job #1345261)
#include<stdio.h>
int main()
{int i,j,v[100000],ma[100000],ur[100000],mx=0,n,k;
FILE *f,*g;
f=fopen("scmax.in","rt");
g=fopen("scmax.out","wt");
fscanf(f,"%d",&n);
for(i=0;i<n;i++) fscanf(f,"%d",&v[i]);
ma[n-1]=1;
ur[n-1]=-1;
for(i=n-2;i>=0;i--) {ma[i]=0;
ur[i]=-1;
for(j=i+1;j<n;j++) if(v[i]<v[j] && ma[j]>ma[i]) {ma[i]=ma[j]+1; ur[i]=j;
if(ma[i]>mx) {mx=ma[i];k=i;} }
}
fprintf(g,"%d\n",mx);
while(k!=(-1))
{
fprintf(g,"%d ",v[k]);
k=ur[k];
}
}