Pagini recente » Cod sursa (job #105201) | Cod sursa (job #3002349) | Cod sursa (job #2612083) | Cod sursa (job #2720561) | Cod sursa (job #1514626)
#include <fstream>
#include <iostream>
const int MAXN = 1000000;
using namespace std;
int N;
int v[2000];
int sequence;
int find_position(int el)
{
int temp;
int index;
for (temp = 1; temp <= sequence; temp <<= 1);
for (index = 0; temp; temp >>= 1)
if (index + temp <= sequence and v[index + temp] < el)
index += temp;
return index;
}
void insert_element(int el)
{
int pos;
pos = find_position(el);
v[pos + 1] = el;
if (pos == sequence)
++sequence;
}
int main()
{
ifstream mama("scmax.in");
ofstream tata("scmax.out");
int r;
mama >> N;
for (int x, i = 0; i < N; i += 1)
{
mama >> r;
insert_element(r);
}
tata << sequence << '\n';
for (int i = 1; i <= sequence; i += 1)
tata << v[i] << " ";
return 0;
}