Pagini recente » Cod sursa (job #2895648) | Urmasii lui Moisil 2017, Clasele 11-12 | Cod sursa (job #764025) | Cod sursa (job #1650349) | Cod sursa (job #457743)
Cod sursa(job #457743)
#include<iostream.h>
#define maxn 100010
int n,v[ maxn],a[ maxn ],last[ maxn ],poz;
int sol[ maxn ];
int main()
{
int max;
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
scanf("%d", &v[i]);
a[i]++;
}
for(int i=1 ;i <= n; i++)
for(int j= i + 1 ;j<=n; j++)
{
if(v[i] < v[j] && a[ i ] + 1 > a[ j ])
{
a[ j ] = a[ i ] + 1;
last[j]=i;
}
if( a[ j ] > max)
{
max = a[j];
poz=j;
}
}
printf("%d\n", max);
int i=1,j;
return 0;
int nr = max;
while( poz )
{
sol[ nr-- ] = poz;
poz = last[ poz ];
}
for(int i=1;i<=max;i++)
printf("%d ", v[ sol[ i ]]);
printf("\n");
return 0;
}