Cod sursa(job #2679693)

Utilizator cristi_macoveiMacovei Cristian cristi_macovei Data 1 decembrie 2020 11:49:55
Problema Subsir crescator maximal Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#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;
}