Pagini recente » Cod sursa (job #1007257) | Cod sursa (job #1087435) | Cod sursa (job #2450620) | Cod sursa (job #2196317) | Cod sursa (job #3224492)
#include <bits/stdc++.h>
#define N 100005
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[N],n,lmax[N],nx[N],st;
int main()
{
fin>>n;
for(int i=1; i<=n; ++i)
fin>>a[i];
lmax[n]=1;
for(int i=n-1; i>=1; --i)
{
lmax[i]=1;
for(int j=i+1; j<=n; ++j)
if(a[i]<a[j]&&lmax[i]<lmax[j]+1)
lmax[i]=lmax[j]+1;
}
int maxi=0;
for(int i=1; i<=n; ++i)
if(maxi<lmax[i]) maxi=lmax[i],st=i;
fout<<maxi<<'\n'<<a[st]<<' ';
for(int i=st+1;i<=n;++i)
if(a[i]>a[st]&&lmax[i]==lmax[st]-1)
{
fout<<a[i]<<' ';
st=i;
}
return 0;
}