Pagini recente » Cod sursa (job #2957912) | Cod sursa (job #1262709) | Cod sursa (job #325800) | Cod sursa (job #1143893) | Cod sursa (job #1332678)
#include <iostream>
#include <algorithm>
#include <climits>
#include <fstream>
using namespace std;
int n,x[100001],c[100001],i,j,MAX;
int drum[100001],poz;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
f>>n;
for(i=0;i<n;i++)
f>>x[i];
c[n-1]=1;
for(i=n-1;i>=0;i--){
c[i]=1;
for(j=i+1;j<n;j++)
if(x[i]<x[j]){
if(1+c[j]>c[i]){
c[i]=1+c[j];
drum[i]=j;
}
}
}
MAX=c[0];
for(i=0;i<n;i++)
if(MAX<c[i]){
MAX=c[i];
poz=i;
}
g<<MAX<<'\n';
for(i=1;i<=MAX;i++){
g<<x[poz]<<' ';
poz=drum[poz];
}
return 0;
}