Pagini recente » Cod sursa (job #1894859) | Cod sursa (job #2160298) | Cod sursa (job #1067440) | Cod sursa (job #2724813) | Cod sursa (job #2672581)
#include <bits/stdc++.h>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int v[100000];
deque <int> q;
void solve(int& n, int poz)
{
int i, aux;
for (i = poz + 1; i < n; i++)
{
if (v[i] > q.front())
q.push_front(v[i]);
else if (v[i] < q.front())
{
aux = q.front();
q.pop_front();
if (!q.empty())
{
if (v[i] > q.front())
{
q.push_front(v[i]);
q.push_front(aux);
}
}
else
{
q.push_front(v[i]);
q.push_front(aux);
}
}
}
out << q.size() << '\n';
while (!q.empty())
{
out<< q.back() << " ";
q.pop_back();
}
}
int main()
{
int i, n, min, poz;
in >> n;
for (i = 0; i < n; i++)
{
in >> v[i];
if (v[i] < min)
{
min = v[i];
poz = i;
}
}
poz=0;
q.push_back(v[0]);
solve(n, poz);
}