Pagini recente » Cod sursa (job #1932238) | Cod sursa (job #1357933) | Cod sursa (job #1331636) | Cod sursa (job #1352421) | Cod sursa (job #504843)
Cod sursa(job #504843)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int l[100],p[100],a[100],n,x;
int m;
void pd () {
int mlu, i, j;
l[n] = 1;
for (i = n-1; i >= 1; i--) {
mlu = 0;
for (j = i+1; j <= n; j++)
if (a[i]<a[j] and l[j] > mlu)
{
mlu = l[j];
p[i]=j;
}
l[i] = mlu+1;
}
}
void refac(int o)
{
fo<<a[o]<<" ";
while(p[o]!=0)
{
o=p[o];
fo<<a[o]<<" ";
}
}
int main()
{
int i;
fi>>n;
for(i=1;i<=n;i++)
fi>>a[i];
pd();
for(i=1;i<=n;i++)
if(m<l[i])
{
m=l[i];
x=i;
}
fo<<m<<"\n";
refac(x);
}