Pagini recente » Cod sursa (job #1605385) | Cod sursa (job #2974444) | Cod sursa (job #2621325) | Cod sursa (job #675) | Cod sursa (job #2165569)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int N,a[100005],L[100005],U[100005],lmax,poz;
int main()
{
fin>>N;
for(int i=1;i<=N;i++) {fin>> a[i];L[i]=1;}
U[N]=0;
for(int i=N-1;i>=1;i--)
{
{
for(int j=i+1;j<=N;j++)
{
if(a[i]<a[j])
{
if(L[i]<L[j]+1)
{
L[i]=L[j]+1;
U[i]=j;
}
}
else j=N;
}
if(lmax<L[i])
{
lmax=L[i];
poz=i;
}
}
}
fout<<lmax<<'\n';
while(U[poz]!=0) {fout<<a[poz]<<' ';poz=U[poz];}
fout<<a[poz];
return 0;
}