Pagini recente » Istoria paginii runda/26_februarie_simulare_oji_2024_clasele_11_12/clasament | Cod sursa (job #166636) | Cod sursa (job #1904969) | Cod sursa (job #1724637) | Cod sursa (job #1575087)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,m,p, v[100001], pos[100001], l[100001];
void read()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
}
void sir()
{
for(int i=n;i>=1;i--)
{
l[i]=1;
pos[i]=0;
for(int j=i+1;j<=n;j++)
if(v[j]>v[i] && l[j]>=l[i])
{
pos[i]=j;
l[i]=l[j]+1;
if(l[i]>m)
{
m=l[i];
p=i;
}
}
}
}
int main()
{
read();
sir();
fout<<m<<endl;
while(pos[p]!=0)
{
fout<<v[p]<<" ";
p=pos[p];
}
fout<<v[p];
return 0;
}