Pagini recente » Cod sursa (job #671347) | Cod sursa (job #2084657) | Cod sursa (job #1490072) | Cod sursa (job #2648250) | Cod sursa (job #949281)
Cod sursa(job #949281)
#include <cstdio>
using namespace std;
int lung [1000],a[1000],n,i,Max1,I;
int main ()
{
freopen ("scmax.in","r",stdin);
freopen ("scmax.out","w",stdout);
scanf ("%d", &n);
for ( i=1;i<=n;i++)
scanf ("%d", &a[i]);
lung[n]=1;
for (i=n-1;i>=1;i--)
{
int Max=0;
for ( int j=i+1;j<=n;j++)
if (Max<lung[j]&&a[j]>a[i]) Max=lung[j];
lung[i]=Max+1;
if (Max1<lung[i])
{
Max1=lung[i];
I=i;
}
}
printf ("%d\n", Max1);
printf("%d ", a[I]);
for (i=I+1;i<=n;i++)
if (lung[i]==Max1-1&&a[i]>=a[I])
{
printf ("%d ", a[i]);
I=i;
Max1--;
}
return 0;
}