Pagini recente » Cod sursa (job #2485322) | Cod sursa (job #2936335) | Cod sursa (job #2236957) | Cod sursa (job #2581595) | Cod sursa (job #357213)
Cod sursa(job #357213)
#include<stdio.h>
using namespace std;
#define dim 100003
long int a[dim],v[dim],n,i,s,max,j,maxim,nr;
int best[dim];
int main()
{
FILE *f=fopen("scmax.in","r"), *g=fopen("scmax.out","w");
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%ld",&a[i]);
for(i=1;i<=n;i++)
{max=-1;
for(j=0;j<i;j++)
if(a[i]>a[j]&&best[j]>max)
{max=best[j];v[i]=j;}
best[i]=1+max; maxim=best[i];s=i;
}
fprintf(g,"%ld\n",maxim);
nr=0;
for(i=s;i>=1;i--)
{best[++nr]=a[i];i=v[i]+1;}
for(i=nr;i>=1;i--)
fprintf(g,"%ld ",best[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;}