Cod sursa(job #680408)

Utilizator ovi.codoriCodori Ovidiu Marin ovi.codori Data 15 februarie 2012 16:11:23
Problema Subsir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
int n,a[1000],x[1000],y[1000],maxx;
void cit()
{int i;
ifstream f("m.in");
f>>n;
for(i=1;i<=n;i++)
	f>>a[i];
f.close();
}
void prel()
{int i,j,p,ok;
x[n]=1;
y[n]=-1;
for(i=n-1;i>0;i--)
	{ok=0;
	for(j=i+1;j<=n && ok==0;j++)
		if(a[i]<a[j])
			{x[i]=x[j]+1;
			if(x[i]>maxx)
				{maxx=x[i];
				p=i;
				}
			ok=1;
			y[i]=j;
			}
	if(ok==0)
		y[i]=-1;
	}
ofstream g("m.out");
g<<maxx<<'\n';
for(i=p;i>0;)
	{g<<a[i]<<' ';
	i=y[i];
	}
}
int main()
{cit();
prel();
return 0;
}