Pagini recente » Cod sursa (job #1172609) | Cod sursa (job #2442880) | Cod sursa (job #2442679) | Istoria paginii runda/eusebiu_oji_2017_cls9 | Cod sursa (job #181690)
Cod sursa(job #181690)
#include <stdio.h>
#define INF 10000000
int main(){
int n,v[5001],i,j,p[5001],l[5001]={0},min,poz,lmax=0,pozmax=0;
freopen("subsir2.in","r",stdin);
freopen("subsir2.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
l[n]=1;
for(i=n-1;i>=1;--i){
poz=0;
for(j=i+1;j<=n;j++)
if(v[j]>=v[i] && l[j]>l[i]){
l[i]=l[j];
poz=j;
}
l[i]++;
p[i]=poz;
if(l[i]>lmax){
lmax=l[i];
pozmax=i;
}
else if(l[i]==lmax)
if(v[i]<v[pozmax])
pozmax=i;
}
printf("%d\n",lmax);
while(lmax){
printf("%d ",pozmax);
lmax--;
pozmax=p[pozmax];
}
return 0;
}