Cod sursa(job #1649034)
Utilizator | Belbu Alexandru Marian alexman262 | Data | 11 martie 2016 12:22:14 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include<iostream>
using namespace std;
int a[100001];
int i,vmax,b[100001],c[100001],p,j,n;
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(i=n;i>=1;i--)
{
vmax=0;
p=0;
for(j=i+1;j<=n;j++)
{
if(a[i]<a[j]&&b[j]>vmax)
{
vmax=b[j];
p=j;
}
}
b[i]=1+vmax;
c[i]=p;
}
vmax=b[1];
p=1;
for(i=2;i<=n;i++)
{
if(b[i]>vmax)
{
vmax=b[i];
p=i;
}
}
cout<<vmax<<"\n";
for(i=p;i!=0;i=c[i])
{
cout<<a[i]<<" ";
}
return 0;
}