Pagini recente » Cod sursa (job #1451964) | Cod sursa (job #2191162) | Cod sursa (job #2645315) | Cod sursa (job #1553102) | Cod sursa (job #1347884)
#include <fstream>
#define NMax 100010
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int v[NMax], t[NMax], p[NMax];
int main()
{
int i, j, n, q, k = 0, maxim = 0;
in >> n;
in >> v[1];
t[1] = 1;
for(i = 2; i <= n; i ++)
{
in >> v[i];
t[i] = 1;
for(j = 1; j < i; j ++)
if(v[j] < v[i])
t[i] = max( t[i], t[j] + 1);
if(maxim<t[i])
{
maxim = t[i];
q = i;
}
}
for(i = 1; i < n; i ++)
{
if(v[i] < v[i+1] && t[i] < t[i+1])
v[t[i]]=v[i];
}
v[t[i]] = v[q];
out << maxim << endl;
for(i = 1; i <= maxim; i ++)
out << v[i] << " ";
return 0;
}