Pagini recente » Rating Turbatu Miruna Teodora (rocerealasimatrici) | Clasamentul arhivei de probleme | Cod sursa (job #1197492) | Cod sursa (job #2628434) | Cod sursa (job #1088425)
#include <iostream>
#include <fstream>
using namespace std;
int l[100000],n,i,t,maxx,k;
long v[100000];
ifstream f("scmax.in");
ofstream g("scmax.out");
void citire(){
f>>n;
for(int i=0;i<n;i++)
f>>v[i];
}
int main()
{
int i,j;
citire();
l[n]=1;
for(k=n-1;k>=1;k--){
maxx=0;
for(i=k+1;i<=n;i++)
if(v[i]>v[k] && l[i]>maxx)
maxx=l[i];
l[k]=1+maxx;
}
maxx=l[1];
t=1;
for(k=1;k<=n;k++)
if(l[k]>maxx){
maxx=l[k];
t=k;
}
g<<maxx<<endl<<v[t]<<" ";
for(i=t+1;i<=n;i++)
if(v[i]>v[t] &&l[i] == maxx-1){
g<<v[i]<<" ";
maxx--;
}
return 0;
}