Pagini recente » Cod sursa (job #1347261) | Cod sursa (job #2968818) | Cod sursa (job #1884164) | Cod sursa (job #1129155) | Cod sursa (job #319315)
Cod sursa(job #319315)
#include<stdio.h>
long n,i,a[5005],t[5005],p[5005],j,min;
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>=0;--i)
{min=2000000000;
t[i]=2000000000;
for(j=i+1;j<=n;++j)
{if((a[j]<=min&&t[j]<=t[i])&&a[j]>=a[i])
{t[i]=t[j];
p[i]=j;}
if(a[j]<min&&a[j]>=a[i])min=a[j];}
if(t[i]==2000000000)t[i]=0;
++t[i];}
i=p[0];
printf("%ld\n",t[i]);
while(i)
{printf("%ld ",i);
i=p[i];}
printf("\n");
return 0;
}