Pagini recente » Cod sursa (job #2386090) | Cod sursa (job #1667259) | Cod sursa (job #2114374) | Cod sursa (job #2412737) | Cod sursa (job #1118932)
#include<fstream>
using namespace std;
int n,a[100002],i,j,b[100002],vmax,lmax,pmax;
int main()
{
fstream fin,fout;
fin.open("scmax.in",ios::in);
fout.open("scmax.out",ios::out);
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
for(i=n;i>=1;i--)
{
vmax=0;
for(j=i+1;j<=n;j++)
{
if((a[i]<a[j])&&(b[j]>vmax))
{
vmax=b[j];
}
}
b[i]=1+vmax;
if(b[i]>lmax)
{
lmax=b[i];
pmax=i;
}
}
fout<<lmax<<"\n";
fout<<a[pmax]<<" ";
for(i=pmax+1;i<=n && lmax>1;i++)
{
if(a[pmax]<a[i] && b[i]==lmax-1)
{
fout<<a[i]<<" ";
pmax=i;
lmax--;
}
}
fout.close();
fin.close();
return 0;
}