Pagini recente » Cod sursa (job #1241505) | Cod sursa (job #2796130) | Cod sursa (job #3306660) | Cod sursa (job #3341994) | Cod sursa (job #3342247)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,v[100005],l[100005],k,maxi,t;
int main()
{
f>>n;
for(int i=1;i<=n;i++) f>>v[i];
l[n]=1;
for(k=n-1;k>0;k--)
{
int mx=0;
for(int i=k+1;i<=n;i++)
if(v[i]>v[k] && l[i]>mx) mx=l[i];
l[k]=mx+1;
if(l[k]>maxi) maxi=l[k], t=k;
}
g<<maxi<<'\n'<<v[t]<<' ';
for(int i=t+1;i<=n;i++)
{
if((v[i]>=v[t])&&(l[i]==maxi-1))
g<<v[i]<<' ', maxi--;
}
f.close();
g.close();
return 0;
}
/*
5
24 12 15 15 19
*/