Pagini recente » Cod sursa (job #1925775) | Cod sursa (job #2450615) | Cod sursa (job #2126254) | Cod sursa (job #1428551) | Cod sursa (job #2861506)
#include <iostream>
#include <fstream>
using namespace std;
ifstream be("scmax.in");
ofstream ki("scmax.out");
int n;
int const nmax = 50000;
int v[nmax];
int maxiertek[nmax];
int maxisorhossz = 0;
int elottemaxi(int it)
{
int maxi = 0;
for(int i = it +1 ; i<=n;i++)
{
if(v[i]>v[it] && maxi < maxiertek[i])
maxi = maxiertek[i];
}
return maxi+1;
}
void scmax()
{
for(int i=n;i>0;i--)
{
maxiertek[i]=elottemaxi(i);
if(maxisorhossz < maxiertek[i])
maxisorhossz = maxiertek[i];
}
}
int main()
{
be>>n;
for(int i=1;i<=n;i++)
{
be>>v[i];
}
scmax();
ki<<maxisorhossz<<endl;
for(int i=1;i<=n;i++)
{
if(maxiertek[i]==maxisorhossz){
ki<<v[i]<<' ';
maxisorhossz--;
}
}
}