Pagini recente » Cod sursa (job #1544261) | Cod sursa (job #1937981) | Cod sursa (job #1551846) | Cod sursa (job #1243656) | Cod sursa (job #2261684)
#include <fstream>
std::ifstream cin("scmax.in");
std::ofstream cout("scmax.out");
#define maxn 100005
int v[maxn],a[maxn],n,maxi;
int rez(){
a[n]=1;
for(int i=n-1;i>0;i--){
a[i]=1;
for(int j=i+1;j<=n;j++)
if(a[i]<a[j]+1&&v[i]<v[j])
a[i]=a[j]+1;
if(a[i]>maxi)
maxi=a[i];
}
}
void afis(){
cout<<maxi<<'\n';
for(int i=1;maxi;i++)
if(a[i]==maxi){
cout<<v[i]<<' ';
maxi--;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
rez();
afis();
return 0;
}