Descripción Dada una secuencia de N dígitos del 1 al 9 donde cada dígito puede aparecer con signo + o −, escribe un programa que determine qué dígito apareció más veces (independientemente de los signos) y cuántas veces apareció en su forma positiva y negativa. Entrada Un entero N seguido de N dígitos del 1 al 9 en versiones positivas o negativas. Puedes suponer que 1≤N≤1000. Salida Un entero que sea el dígito que apareció más veces, seguido de dos enteros que sean la cantidad de veces que apareció dicho dígito en su forma positiva y negativa. En caso de empate en apariciones, debe dársele preferencia al dígito numéricamente menor (en magnitud).
#include <iostream> #include <vector> #include <map> #include <algorithm> int main() { int n; std::cin >> n; std::vector<int> v(n); std::map<int, int> map_counts; for (int i = 0; i < n; i++) { int num; std::cin >> num; if (num > 9 || num < -9) { i--; continue; } v[i] = num < 0 ? num * -1 : num; map_counts[v[i]]++; } int max_num_count = -1; int max_num = -1; for (auto kv : map_counts) { if (max_num_count < kv.second) { max_num_count = kv.second; max_num = kv.first; } else if (max_num_count ==