Pagini recente » Cod sursa (job #2781846) | Cod sursa (job #1855006) | Cod sursa (job #204909) | Cod sursa (job #2784485) | Cod sursa (job #1488672)
#include<fstream>
using namespace std;
int a[100001],d[100005],p[100005],poz[100007];
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,n,j,max=-1,aux,k;
f>>n;
for(i=1;i<=n;++i)
{
f>>a[i];
}
d[1]=1;
for(i=1;i<=n;++i)
{
max=0;
for(j=1;j<=i-1;++j)
if(d[j]>max && a[j]<a[i])
{
max=d[j];
p[i]=j ;
}
d[i]=1+max;
}
max=-1;
for(i=1;i<=n;++i)
{
if(d[i]>max)
{
max=d[i];
k=i;
}
}
g<<max<<endl;
for(i=max;i>=1;--i)
{
poz[i]=a[k];
k=p[k];
}
for(i=1;i<=max;i++)
g<<poz[i]<<" ";
}