Cod sursa(job #741449)

Utilizator deea101Andreea deea101 Data 26 aprilie 2012 01:15:55
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
using namespace std;
unsigned long v[100001],a[100001];
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
	int n;
	f>>n;
	
	int i,j,max,maxi;
	for(i=0;i<n;i++)
		f>>v[i];
	a[0]=1;
	for(i=1;i<n;i++)
	{
		max=0;
		for(j=0;j<i;j++)
		{
			if(a[j]>max && v[j]<v[i]) max=a[j];
		}
		a[i]=max+1;
	}
	max=1,maxi=0; 
	for(i=0;i<n;i++)
	{
		if(a[i]>max) {max=a[i]; maxi=i;}
	}
	g<<max<<endl;
	unsigned long b[max];
	int k=max;
	for(i=maxi;i>=0 && max;i--)
	{
		if(a[i]==max) 
			{
				max--;
				b[max]=v[i];
			}
	}
	for(i=0;i<k;i++) g<<b[i]<<' ';
}