Pagini recente » Cod sursa (job #283180) | Cod sursa (job #2438143) | Cod sursa (job #871807) | Cod sursa (job #312193) | Cod sursa (job #863395)
Cod sursa(job #863395)
#include <iostream>
#include <stdio.h>
using namespace std;
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
int p[100005],a[100005],v[100005],mx,mx1,i,j,ok,n;
int main()
{
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
a[n]=1;
for (i=n-1;i>=1;i--){
ok=0;
mx1=0;
a[i]=1;
for (j=i+1;j<=n;j++)
if (v[j]>v[i] && a[j]+1>a[i])
{
a[i]=a[j]+1;
ok=j;
}
p[0]++;
p[p[0]]=v[ok];
}
for (i=1;i<=n;i++)
if (a[i]>mx) mx=a[i];
fprintf(g,"%d\n",mx);
fprintf(g,"%d ",v[mx]);
for (i=mx-1;i>=1;i--)
fprintf(g,"%d ",p[i]);
fclose(g);
return 0;
}