Pagini recente » Cod sursa (job #457084) | Cod sursa (job #2463387) | Cod sursa (job #1473631) | Cod sursa (job #3247444) | Cod sursa (job #2068205)
#include <fstream>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int n,i,j,lMax,L[100002],a[100002],P,Max,ult;
int main()
{
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
L[n]=1;
lMax=0;
for (i=n-1;i>=1;i--)
{
Max=0;
for (j=i+1;j<=n;j++)
if (a[i]<a[j] && Max<L[j]) Max=L[j];
L[i]=Max+1;
if (lMax<L[i]) {
lMax=L[i];
P=i;
}
}
g<<lMax<<'\n';
ult=a[P]-1;
for (i=P;i<=n;i++)
if (a[i]>ult && L[i]==lMax)
{
g<<a[i]<<" ";
ult=a[i];
lMax--;
}
return 0;
}