Pagini recente » Cod sursa (job #2521092) | Cod sursa (job #2378544) | Cod sursa (job #1815813) | Cod sursa (job #1671164) | Cod sursa (job #2314542)
#include <iostream>
#include<fstream>
using namespace std;
int n,i,j,a[100005],s[100005],u,w[100005],q,maxim,imax;
int main()
{
ifstream in("scmax.in");
ofstream out("scmax.out");
in>>n;
s[1]=1;
for(i=1;i<=n;i++)
{
in>>a[i];
}
for(i=2;i<=n;i++)
{
s[i]=1;
for(j=i-1;j>=1;j--)
{
if(a[i]>a[j])
{
s[i]=s[j]+1;
if(s[i]>maxim)
{
maxim=s[i];
imax=i;
}
if(s[i]==maxim && a[i]<a[imax])
{
imax=i;
}
break;
}
}
}
/* for(i=1;i<=n;i++)
{
cout<<s[i]<<' ';
}*/
out<<maxim<<'\n';
u++;
w[u]=imax;
for(i=imax-1;i>=1;i--)
{
if(s[i]<s[i+1])
{
u++;
w[u]=i;
}
if(s[i]==1)
break;
}
for(i=u;i>0;i--)
{
int e=w[i];
out<<a[e]<<' ';
}
}