Cod sursa(job #1037176)

Utilizator BuseSorinFMI Buse Sorin-Marian BuseSorin Data 19 noiembrie 2013 22:18:42
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;

void dinamic(int[],int);
struct result lis( int[], int);
void citeste(int&,int[]);
int main()
{
	int V[10];
	int n=0;
	citeste(n,V);
	dinamic(V,n);
	return  0;
}

void citeste(int& n,int V[])
{
	ifstream file("scmax.in");
	file>>n;
	for(int i=0;i<n;i++)
	{
		file>>V[i];
	}
}
void dinamic(int V[],int n)
{    
	ofstream o("scmax.in");
	int L[10];
	L[0]=1;
	int prev[10];
	int bestEnd=0;
	for(int i=0;i<n;i++){
		int maxn=0;
		prev[i]=-1;
		for(int j=0;j<i;j++){
			if(V[j]<V[i] && L[j]>maxn){
				maxn=L[j];
				prev[i] = j;
			}
		}
		L[i]=maxn+1;
		for each(int k in L){
			if(L[i]>k){
				bestEnd=i;
			}
		}
	}
	int maxi=0;
	for(int i=0;i<n;i++){
		if(L[i]>maxi){
			maxi=L[i];
		}
	}
	for(int i=bestEnd-1;i!=-1;i=prev[i]){
		o<<V[i]<<" ";
	}
}