Pagini recente » Cod sursa (job #106695) | Cod sursa (job #1136411) | Cod sursa (job #1602270) | Cod sursa (job #2056109) | Cod sursa (job #385727)
Cod sursa(job #385727)
#include<fstream>
using namespace std;
int mx[100001],poz[100001];
long long v[100001];
int main()
{
long long n,k,i,j,max,p;
ifstream in("scmax.in");
ofstream out("scmax.out");
in>>n;
for (i=1;i<=n;i++)
in>>v[i];
for (i=n;i>=1;i--)
{
p=0;
max=0;
for (k=i;k<=n;k++)
{
if (v[i]<v[k]&&max<mx[k])
{
max=mx[k];
p=k;
}
mx[i]=max+1;
poz[i]=p;
}
}
max=0;
p=0;
for (i=1;i<=n;i++)
{
if (mx[i]>max)
{
max=mx[i];
p=i;
}
}
out<<mx[p]<<"\n\n";
while (p!=0)
{
out<<v[p]<<" ";
p=poz[p];
}
in.close();
out.close();
return 0;
}