Cod sursa(job #756446)
| Utilizator | Data | 9 iunie 2012 17:23:46 | |
|---|---|---|---|
| Problema | Subsir 2 | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <cstdio>
int sir[5005],v[5005];
int main () {
int n,i,j,minl,p;
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;
}
}
printf("%d\n",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);
}
return 0;
}
