Pagini recente » Cod sursa (job #3033129) | Cod sursa (job #13425) | Cod sursa (job #1873299) | Cod sursa (job #767967) | Cod sursa (job #642276)
Cod sursa(job #642276)
#include<fstream.h>
#include<iostream.h>
ofstream h("subsir2.out");
struct data{long a,b,c,z;};
data d[5000];
long z,x,min=1000001;
void afis(int z)
{if(d[z].b!=0)
{afis(d[z].b);
h<<d[z].b<<" ";}}
int main()
{ifstream f("subsir2.in");
long a[5000],i,n,j;
f>>n;
for(i=1;i<=n;i++)
{f>>a[i];
d[i].a=1;
d[i].c=i;}
for(i=2;i<=n;i++)
for(j=i-1;j>=1;j--)
if(a[j]<a[i]&&d[j].a+1>d[i].a)
{d[i].a=d[j].a+1;
d[i].b=j;
d[j].z=i;
d[i].c=d[j].c;}
for(i=1;i<=n;i++)
if(d[i].b!=0&&d[i].a<min&&d[i].z==0)
{min=d[i].a;
z=i;}
h<<d[z].a<<"\n";
afis(z);
h<<z;
return 0;}