Cod sursa(job #1052726)

Utilizator vyrtusRadu Criuleni vyrtus Data 11 decembrie 2013 19:09:37
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <conio.h>

using namespace std;

int main()
{
	ifstream fin("scmax.in");
	ofstream fout("scmax.out");

	int n ;
	fin >> n;
	
	unsigned long a[100000];

	for (int i=0; i<n; i++)
		 fin >> a[i];

        int	rez[100000];

	 for (int i=0; i<n; i++)
		  rez[i] = 1;

	 for (int i=0;i<=n;i++)
	 {
		 for (int j=0;j<i;j++)
		 {
			 if ((a[i]>a[j]) && (rez[i]<rez[j]+1))
			 {
				 rez[i] = rez[j] +1 ;
			 }
		 }
	 }
	
	 int max=rez[0];

	 for (int i=1;i<n;++i)
	 {
		 if (rez[i]>max) max=rez[i];
	 }
	 max;
	 fout << max << endl;
	
	 for (int i=n-1 ; i>=0;i--)
	 {			
		 if (rez[i] == max) { fout<< a[i] <<" "; --max; } 		 
	 }
	 
	 fin.close();
	 fout.close();
	 return 0;
}