Pagini recente » Cod sursa (job #2507546) | Cod sursa (job #758188) | Cod sursa (job #2975648) | Cod sursa (job #3144776) | Cod sursa (job #1609406)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int lung [100000];
int pred [100000];
int n,v[100000];
int pm;
void subsir(int p){
if(pred[p]!=0)
subsir(pred[p]);
g<<v[p]<<" ";
}
int main()
{
f>>n;
for(int i=1;i<=n;i++){
f>>v[i];
}
lung[1]=1;
for(int i=2;i<=n;i++){
lung[i] = 0;
pred[i] = 0;
for(int j=1;j<i;j++){
if(v[i] > v[j]){
if(lung[i]<lung[j]){
lung[i]=lung[j];
pred[i]=j;
}
}
}
lung[i]++;
if(lung[i]>lung[pm])
pm=i;
}
// for(int i=1;i<=n;i++)
// g<<lung[i]<<" ";
// g<<'\n';
g<<lung[pm]<<'\n';
subsir(pm);
}