Pagini recente » Cod sursa (job #731028) | Cod sursa (job #2393325) | Cod sursa (job #2531386) | Cod sursa (job #1273886) | Cod sursa (job #831114)
Cod sursa(job #831114)
#include<stdio.h>
int i,j,n,v[50001],vc[50001],maxim,maximul,elemminim,pozminim;
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]);
vc[n]=1;
maximul=1;
for(i=n-1;i>=1;i--){
maxim=-1;
for(j=n;j>i;j--)
if(vc[j]>maxim&&v[j]>=v[i])
maxim=vc[j];
if(maxim!=-1)
vc[i]=maxim+1;
else
vc[i]=1;
if(vc[i]>maximul)
maximul=vc[i];
}
printf("%d\n",maximul);
while(maximul>0){
//il caut pe maximul
elemminim=1000000;
for(i=1;i<=n;i++){
if(vc[i]==maximul&&v[i]<elemminim){
pozminim=i;
elemminim=v[i];
}
}
printf("%d ",pozminim);
maximul--;
}
return 0;
}