Pagini recente » Cod sursa (job #553529) | Istoria paginii runda/prbd2 | Cod sursa (job #48972) | Cod sursa (job #2496121) | Cod sursa (job #1037176)
#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]<<" ";
}
}