Pagini recente » Cod sursa (job #875573) | Cod sursa (job #1515338) | Cod sursa (job #2530697) | Cod sursa (job #2118842) | Cod sursa (job #318888)
Cod sursa(job #318888)
# include <stdio.h>
int a[10000],b[10000],min,min2,i,j,poz,n,t[10000],max,min3,inf=1000000;
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[n]=1;
for (i=n-1;i>=1;i--)
{
min=inf;
min2=inf;
min3=inf;
for (j=i+1;j<=n;j++)
if (a[j]>=a[i] && min2>=b[j] && a[j]<min)
{
min2=b[j];
min=a[j];
poz=j;
}
if (min2!=inf)
{
b[i]=min2+1;
t[i]=poz;
}
else
{
b[i]=1;
t[i]=0;
}
}
max=0;
for (i=1;i<=n;i++)
if (b[i]>max)
{
max=b[i];
poz=i;
}
printf ("%i\n",max);
printf ("%i ",poz);
while (t[poz]!=0)
{
printf ("%i ",t[poz]);
poz=t[poz];
}
return 0;
}