Pagini recente » Cod sursa (job #906245) | Cod sursa (job #896957) | Cod sursa (job #2184033) | Cod sursa (job #472555) | Cod sursa (job #2513937)
#include <fstream>
#define lim 100005
using namespace std;
int v[lim],best[lim],ex[lim];
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{
int n;
cin>>n>>v[1];
best[1]=1;
for(int i=2;i<=n;++i)
{
cin>>v[i];
int maxx=0,ind=0;
for(int j=1;j<i;++j)
{
if(v[j]<v[i]){
if(maxx<best[j])
{
maxx=best[j];
ind=j;
}
}
}
best[i]=1+maxx;
ex[i]=ind;
}
cout<<best[n]<<'\n';
int cnt=best[n];
best[cnt+1]=-1;
do{
best[cnt]=n;
--cnt;
n=ex[n];
}while(n);
for(int i=1;best[i]!=-1;++i)
cout<<v[best[i]]<<" ";
return 0;
}