Pagini recente » Cod sursa (job #1155447) | Cod sursa (job #2389783) | Cod sursa (job #3277430) | Cod sursa (job #1329385) | Cod sursa (job #756460)
Cod sursa(job #756460)
#include <cstdio>
int sir[5005],v[5005],sol[5005],dim;
int main () {
int n,i,j,minl,p,c;
freopen("subsir2.in","r",stdin);
freopen("subsir2.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)scanf("%d",&sir[i]);
for(i=1;i<=n;++i){
for(j=0;j<i;++j){
if(sir[i]>sir[j]&&v[i]<=v[j]){
v[i]=v[j]+1;
if(v[i]>v[i-1]+1)v[i]=v[i-1]+1;
}
}
}
printf("%d\n",v[n]);
c=v[n];
/* for(j=1;j<=v[n];++j){
minl=99999999;
for(i=1;i<=n;++i)if(v[i]==j&&minl>sir[i]){
minl=sir[i];
p=i;
}
printf("%d ",p);
}*/
for(i=n;i&&c;--i){
if(v[i]==c){
sol[++dim]=i;
--c;
}
}
for(i=dim;i;--i)printf("%d ",sol[i]);
return 0;
}