Cod sursa(job #609502)

Utilizator mening12001Andrei Geogescu mening12001 Data 21 august 2011 19:11:51
Problema Subsir 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#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;}