Pagini recente » Cod sursa (job #2183134) | Cod sursa (job #2270593) | Cod sursa (job #256788) | Cod sursa (job #3199137) | Cod sursa (job #609502)
Cod sursa(job #609502)
#include<fstream.h>
#include<iostream.h>
int d[5000],p[5000];
int main()
{ifstream f("subsir2.in");
ofstream h("subsir2.out");
int n,a[5000],i,j,min=1000000,ok=0,o,z;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
d[n]=1;
for(i=n-1;i>=1;i=i-1)
{for(j=i;j<=n;j++)
if(d[i]<d[j]+1&&a[i]<=a[j])
{d[i]=d[j]+1;
p[i]=j;}
if(d[i]==0)
d[i]=1;
for(o=i-1;o>=1;o=o-1)
if(a[o]<=a[i])
{ok=0;
break;}
if(ok==1&&d[i]<min&&i>1)
{min=d[i];
ok=0;
z=i;}
if(i==1&&min>d[i])
{min=d[i];
z=i;}
ok=1;
}
h<<min<<"\n";
for(i=1;i<=min;i++)
{h<<z<<" ";
z=p[z];}
return 0;}