Pagini recente » Cod sursa (job #1433307) | Cod sursa (job #1433847) | Cod sursa (job #778050) | Cod sursa (job #1717084) | Cod sursa (job #1118863)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
long long l[200000000],a[20000000],ml,pl,n,poz[200000000],i,j;
void citire()
{
in>>n;
for(i=1;i<=n;i++)
in>>a[i];
}
int main()
{
citire();
l[n]=1; poz[n]=0;
for(i=n-1;i>=1;i--)
{
ml=0; pl=0;
for(j=i+1;j<=n;j++)
if(l[j]>ml)
{
ml=l[j];
pl=j;
}
l[i]=i+ml; poz[i]=pl;
}
ml=0; pl=0;
for(i=1;i<=n;i++)
if(ml<l[i])
{
ml=l[i];
pl=i;
}
out<<pl<<'\n';
for(i=pl;i!=0;i=poz[i])
out<<a[i]<<' ';
in.close();
out.close();
return 0;
}