Pagini recente » Cod sursa (job #1200247) | Cod sursa (job #456409) | Rating Dobre Florian Robert (Robert9392) | Cod sursa (job #1212262) | Cod sursa (job #312346)
Cod sursa(job #312346)
# include <stdio.h>
int a[10000],b[10000],c[10000],i,j,max,min,x,n,k,p,y;
int main ()
{
freopen ("subsir2.in","r",stdin);
freopen ("subsir2.out","w",stdout);
scanf ("%i",&n);
for (i=1;i<=n;i++)
scanf ("%i",&a[i]);
b[1]=1;
for (i=2;i<=n;i++)
{
max=-1000001;
for(j=1;j<i;j++)
if (a[j]<=a[i] && max<b[j])
max=b[j];
if (max!=-1000001)
b[i]=max+1;
else
b[i]=1;
}
max=-1001;
for (i=1;i<=n;i++)
if (b[i]>max)
max=b[i];
printf ("%i\n",max);
k=max;
x=1000001;y=1000001;
while (k)
{
min=1000001;
for (i=1;i<=n;i++)
if (b[i]==k && a[i]<x && i<y && a[i]<min)
{
min=a[i];
p=i;
}
c[k]=p;
x=min;
y=p;
k--;
}
for (i=1;i<=max;i++)
printf ("%i ",c[i]);
return 0;
}