Pagini recente » Cod sursa (job #3180270) | Cod sursa (job #1078118) | Cod sursa (job #3183823) | Borderou de evaluare (job #882912) | Cod sursa (job #568180)
Cod sursa(job #568180)
#include <cstdio>
#include <algorithm>
int v[100], d[100], poz[100], n;
//
void citire()
{
int i;
freopen("scmax.in","r",stdin);
scanf("%d",&n);
for(i=1; i<=n; i++)
scanf("%d",&v[i]);
}
//
void dinamica()
{
int i, j, max, p;
d[n]=1; poz[n]=0;
for(i=n-1; i>=1; i--)
{max=p=0;
for(j=i+1; j<=n; j++)
if(v[i]<v[j] && d[j]>max)
{
max=d[j];
p=j;
}
d[i]=1+max;
poz[i]=p;
}
p=1;
for(i=2; i<=n; i++)
if(d[i]==d[p])
p=i;
printf("%d\n",d[p]);
}
void afis(int p)
{
if(p>0)
{printf("%d ",v[p]);
afis(poz[p]);
}
}
//
int main()
{
citire();
dinamica();
afis(1);
return 0;
}