Pagini recente » Cod sursa (job #1335948) | Cod sursa (job #1869331) | Cod sursa (job #2904117) | Cod sursa (job #2381574) | Cod sursa (job #695730)
Cod sursa(job #695730)
#include<stdio.h>
long n,i,j,min,minp,mine,a[6000],b[6000],c[6000];
int main()
{
freopen("subsir2.in","r",stdin);
freopen("subsir2.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++) scanf("%ld",&a[i]);
for(i=n;i>=1;i--)
{
min=1000001;
minp=0;
for(j=i+1;j<=n;j++)
if(a[j]>=a[i] && min>a[j])
{
min=a[j];
minp=j;
}
b[i]=minp;
c[i]=c[minp]+1;
}
min=c[1];
mine=a[1];
minp=1;
for(i=2;i<=n;i++)
if(a[i]<mine)
{
if(c[i]<=min)
{
minp=i;
min=c[i];
}
mine=a[i];
}
printf("%ld\n",min);
for(i=1;i<=min;i++)
{
printf("%ld ",minp);
minp=b[minp];
}
printf("\n");
return 0;
}