Pagini recente » Cod sursa (job #1792377) | Cod sursa (job #1107824) | Cod sursa (job #2582860) | Cod sursa (job #1397533) | Cod sursa (job #825367)
Cod sursa(job #825367)
using namespace std;
#define maxx 100000
#include <iostream>
#include <fstream>
int DP[maxx],x[maxx],mx,sm,n,smpoz;
int main()
{
ofstream fout("scmax.out");
ifstream fin("scmax.in");
fin>>n;
for (int i=1;i<=n;i++)
{
fin>>x[i];
}
for (int i=n;i>=1;i--)
{
mx=0;
for (int j=i+1;j<=n;j++)
{
if ((x[j]>x[i])&&(DP[j]>mx))
mx=DP[j];
}
DP[i]=mx+1;
if (sm<DP[i])
{
sm=DP[i];
smpoz=i;
}
}
fout<<DP[smpoz]<<'\n'<<x[smpoz]<<' ';
for (int i=smpoz+1;i<=n;i++)
if (x[smpoz]<x[i]&&DP[i]==sm-1)
{
fout<<x[i]<<' ';
sm--;
}
}