Pagini recente » Statistici Pavel Cristian (PavelCristian) | Cod sursa (job #528855) | Cod sursa (job #1387025) | Cod sursa (job #1853852) | Cod sursa (job #1314656)
#include <fstream>
using namespace std;
ifstream is("scmax.in");
ofstream os("scmax.out");
int s[100001], l[100001], t[100001];
int n;
int mxm = -1, poz;
void Solutie(int p);
int main()
{
is >> n;
for ( int i = 1; i <= n; ++i )
is >> s[i];
for ( int i = 1; i <= n; ++i )
{
l[i] = 1;
for ( int j = 1; j < i; ++j )
if ( l[i] < l[j] + 1 && s[j] < s[i] )
{
l[i] = l[j] + 1;
if ( l[i] > mxm )
{
mxm = l[i];
poz = i;
}
t[i] = j;
}
}
os << mxm << '\n';
Solutie(poz);
is.close();
os.close();
return 0;
}
void Solutie(int p)
{
if ( p == 0 )
return;
Solutie(t[p]);
os << s[p] << ' ';
}