Pagini recente » Cod sursa (job #1882168) | Cod sursa (job #1849265) | Cod sursa (job #2634672) | Cod sursa (job #1716706) | Cod sursa (job #2679693)
#include <iostream>
#include <fstream>
#include <vector>
int n;
std::vector<int> stack;
std::vector<int> sol;
int main() {
std::ifstream in("scmax.in");
std::ofstream out("scmax.out");
in >> n;
int a;
for (int i = 1; i <= n; ++i) {
in >> a;
while (!stack.empty() && stack.back() >= a)
stack.pop_back();
stack.push_back(a);
if (stack.size() > sol.size())
sol = stack;
}
out << sol.size() << '\n';
for (int i : sol)
out << i << ' ';
in.close();
out.close();
return 0;
}