Cod sursa(job #867237)

Utilizator varga13VarGaz13 varga13 Data 29 ianuarie 2013 13:34:31
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#define Open ifstream f("scmax.in"); ofstream g("scmax.out");
//define Open ifstream f("smx.in"); ofstream g("smx.out");
#define Close f.close(); g.close();
const int ler=100000;
using namespace std;
int a[ler],aux[ler];
int main()
{int n,i,w;
Open
f>>n;
for( i=0;i<n;i++)
	f>>a[i];


for(i=n;i>=0;i--)
	for(int j=i;j<n;j++)
	{
	if(a[i]<a[j])
		{
			aux[i]=aux[j]+1;
			break;
		}
	if(aux[i]==0)
		aux[i]=1;
	}
	
	
	
int max=-1,ax;
for(i=0;i<n;i++)
{
	if(aux[i]>max)
	{
		max=aux[i];
		ax=i;
	}
}
	
g<<max;	
w=max+1;	
g<<'\n';
for(i=ax;i<n;i++)
{
	if(aux[i]<w)
	{
		w=aux[i];
		g<<a[i]<<' ';
	}
}
	
	
g<<'\n';
	
/*
for(i=0;i<n;i++)
	g<<a[i]<<' ';

g<<'\n';

for(i=0;i<n;i++)
	 g<<aux[i]<<' ';

*/
Close 
return 0;
}