Pagini recente » Monitorul de evaluare | Cod sursa (job #209931) | Istoria paginii runda/g6c2h7e4f5c2h7b1c2/clasament | Istoria paginii runda/oji_2020_cls10/clasament | Cod sursa (job #2247388)
#include <fstream>
using namespace std;
int n, i, j, minim=1000001, v[5011], l[5011], tata[5011],mini=1000001;
int pos;
int main () {
ifstream fin ("subsir2.in");
ofstream fout ("subsir2.out");
fin>>n;
for (i=1;i<=n;i++) {
fin>>v[i];
if (v[i]<minim) {
minim=v[i];
pos=i;
}
}
int p=0;
l[0]=mini;
for (i=n;i>=1;i--) {
l[i]=1;p=0;mini=1000001;
for (j=i+1;j<=n;j++) {
if (v[j]>=v[i]&&v[j]<mini) {
if(l[j]<=l[p]){
l[i]=l[j]+1;
tata[i]=j;
mini=v[j];p=j;
}
}
}
}
fout<<l[pos]<<'\n';
while (pos>0) {
fout<<pos<<" ";
pos=tata[pos];
}
return 0;
}