Cod sursa(job #675534)

Utilizator iuli1505Parasca Iuliana iuli1505 Data 7 februarie 2012 18:32:53
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n, a[100001],l[100001],poz[100001];
int main()
{
	int i,j,max,pmax;
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	l[n]=1;
	poz[n]=-1;
	for(i=n-1;i>0;i--)
		for(l[i]=1, poz[i]=-1, j=i+1; j<=n; j++)
			if(a[i]<a[j] && l[i]<1+l[j])
			{
				l[i]=1+l[j];
				poz[i]=j;
			}
	max=l[1];
	pmax=1;
	for(i=2;i<=n;i++)
		if(max<l[i])
		{
			max=l[i];
			pmax=i;
		}
	g<<max<<endl;
	for(i=pmax; i!=-1; i=poz[i])
		g<<a[i]<<' ';
	return 0;
}