Pagini recente » Cod sursa (job #3030957) | Cod sursa (job #798635) | Cod sursa (job #1854095) | Cod sursa (job #1471893) | Cod sursa (job #640004)
Cod sursa(job #640004)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int v[100001],l[100001],n;
int main(){
int i,j,lmax,pmax=1;
in>>n;
for(i=1; i<=n; i++)
in>>v[i];
l[n]=1;
for(i=n-1; i>=1; i--){
lmax=0;
for(j=i+1; j<=n; j++)
if(v[j]>v[i] && l[j]>lmax)
lmax=l[j];
l[i]=lmax+1;
}
lmax=l[1];
for(i=2; i<=n; i++)
if(l[i]>lmax){
lmax=l[i];
pmax=i;
}
out<<lmax<<endl;
out<<v[pmax]<<" ";
lmax--;
int ult=v[pmax];
for(i=pmax+1; i<=n&&lmax; i++)
if(v[i]>ult && l[i]==lmax){
out<<v[i]<<" ";
lmax--;
ult=v[i];
}
return 0;
}