Pagini recente » Cod sursa (job #2083829) | Cod sursa (job #121604) | Cod sursa (job #727682) | Cod sursa (job #1613434) | Cod sursa (job #1787245)
#include<fstream>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int n, v[100001] , sol[100001] , ns ,w , p;
int main ()
{
f >> n;
for (int i = 1; i <= n; ++i)
f >> v[i];
sol[n] = 1; ns = 1; p = n;
for (int i = n -1; i >= 1; --i)
{
int w = 0;
for (int j = i + 1; j <= n; ++j)
if (sol[j] > w && v[j] > v[i])
w = sol[j];
sol[i] = w + 1; if (ns < w + 1) {ns = w; p = i;}
g << ns << '\n';
for (int i = p; i <= n; ++i)
{
if (sol[i] == ns)
g << v[i] << ' ';
}
}
g.close ();
return 0;
}