Pagini recente » Cod sursa (job #1863329) | Cod sursa (job #2155539) | Cod sursa (job #2916757) | Cod sursa (job #769415) | Cod sursa (job #1857720)
#include <stdio.h>
#include <iostream>
using namespace std;
int v[101],a[101];
int main ()
{
freopen("problema.in","r",stdin);
freopen("problema.out","w",stdout);
int n,i,j,maxi,maxg,poz,pozf,comp;
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&v[i]);
maxg=1;
a[1]=1;
for (i=2;i<=n;i++)
{
maxi=0;
for (j=1;j<i;j++)
{
if (a[j]>maxi && v[j]<v[i]){
maxi=a[j];
poz=j;
}
}
a[i]=maxi+1;
if (maxg<maxi+1){
maxg=maxi;
pozf=poz;
}
a[i]=maxi+1;
}
printf("%d\n",maxg+1);
while (a[n]!=maxi)
n--;
n++;
comp=n;
printf("%d ",v[comp]);
for (i=n;i>=1;i--)
{
for (j=comp;j>=1;j--)
if (a[j]==a[comp]-1){
comp=j;
printf("%d ",v[comp]);
}
}
return 0;
}