Pagini recente » Cod sursa (job #691926) | Cod sursa (job #3223020) | Cod sursa (job #896294) | Cod sursa (job #413031) | Cod sursa (job #1668428)
#include <fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n,a,i,nr,j,ma,lc,mi,k,v[5010],s[5010],l[5010];
int main()
{ f>>n;
for (i=1;i<=n;++i)
f>>v[i];
l[n]=1;
s[n]=n;
v[0]=-40000000;
for (i=n;i>=0;--i) {
mi=40000000;
l[i]=40000000;
for (j=i+1;j<=n;++j)
if (v[j]<mi && v[i]<=v[j]) {
mi=v[j];
nr=l[j]+1;
if (l[i]==nr && v[j]<v[s[i]])
s[i]=j;
if (nr<l[i]) {
l[i]=nr;
s[i]=j;}}
if (l[i]==40000000) {
l[i]=1;
s[i]=i;}}
g<<l[0]-1<<'\n';
k=0;
while (k!=s[k]) {
k=s[k];
g<<k<<" ";
}
g<<'\n';
return 0;
}