Pagini recente » Cod sursa (job #2388105) | Cod sursa (job #2585365) | Cod sursa (job #856461) | Cod sursa (job #25796) | Cod sursa (job #505202)
Cod sursa(job #505202)
#include <stdio.h>
int i,j,k,min,n,v[5002],d[5002],p[5002];
void w(int a)
{
if (p[a]==n+1) return;
printf("%d ",p[a]);
w(p[a]);
}
int main()
{
freopen("subsir2.in","r",stdin);
freopen("subsir2.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i) scanf("%d",&v[i]);
v[0]=-1000001;
for (i=n;i>=0;--i)
{
min=1000001;k=n+1;
for (j=i+1;j<=n;++j)
if ((min>=v[j])&&(v[j]>v[i]))
{
min=v[j];
k=j;
}
d[i]=d[k]+1;
p[i]=k;
}
printf("%d\n",d[0]-1);
w(0);
return 0;
}