Pagini recente » Cod sursa (job #2033508) | Cod sursa (job #35211) | Cod sursa (job #746252) | Cod sursa (job #2442661) | Cod sursa (job #1535149)
#include <fstream>
using namespace std;
int n,i,j,max1,l[100001],a[100001],p;
int main()
{
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
fin>>n;
for (i=1;i<=n;i++) fin>>a[i];
for (i=n;i>=1;i--)
{
max1=0;
for (j=i+1;j<=n;j++)
{
if (l[j]>max1&&a[j]>a[i])
max1=l[j];
}
l[i]=max1+1;
}
max1=0;
for (i=1;i<=n;i++)
{
if (l[i]>max1)
{
max1=l[i];
p=i;
}
}
fout<<max1<<'\n';
while (max1>0)
{
fout<<a[p]<<" ";
max1=max1-1;
for (i=p+1;i<=n;i++)
{
if (a[i]>a[p]&&l[i]==max1)
{
p=i;
break;
}
}
}
return 0;
}