Pagini recente » Cod sursa (job #1114356) | Cod sursa (job #1828086) | Cod sursa (job #1908340) | Cod sursa (job #333616) | Cod sursa (job #2576672)
#include <fstream>
#include <queue>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100001], lg[100001], maxx, n, p, i, j;
int main()
{
f >> n;
for(i = 1; i <= n; ++ i)
f >> v[i];
lg[n] = 1;
for(i = n - 1; i >= 1; i --)
{
maxx = 0;
for(j = i + 1; j <= n; ++ j)
if(v[i] < v[j] && lg[j] > maxx)
maxx = lg[j];
lg[i] = maxx + 1;
}
for(i = 1, maxx = 0; i <= n; ++ i)
if(lg[i] > maxx)
{
maxx = lg[i];
p = i;
}
g << maxx << "\n" << v[p] << " ";
for(i = p + 1; i <= n; ++ i)
if(lg[p] > lg[i])
{
g << v[i] << " ";
p = i;
}
return 0;
}