Pagini recente » Cod sursa (job #57813) | Cod sursa (job #690604) | Istoria paginii runda/oji2017cls9sim/clasament | Cod sursa (job #897359) | Cod sursa (job #949284)
Cod sursa(job #949284)
#include <cstdio>
using namespace std;
int lung [100],a[100],n,i,Maxx,x,Max,j;
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--)
{
Max=0;
for (j=i+1;j<=n;j++)
if (Max<lung[j]&&a[j]>a[i]) Max=lung[j];
lung[i]=Max+1;
if (Maxx<lung[i])
{
Maxx=lung[i];
x=i;
}
}
printf ("%d\n", Maxx);
printf("%d ", a[x]);
for (i=x+1;i<=n;i++)
if (lung[i]==Maxx-1&&a[i]>=a[x])
{
printf ("%d ", a[i]);
x=i;
Maxx--;
}
return 0;
}