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 <bits/stdc++.h> using namespace std; int main(void) { int N, num; cin >> N; vector<int> v(N); unordered_map<int, int> mapa; for (int i = 0; i < N; i++) { cin >> num; v[i] = abs(num); mapa[abs(num)] += 1; } auto maxNum = *max_element(mapa.begin(), mapa.end(), [](const pair<int, int>& p1, const pair<int, int>& p2) { return p1.second < p2.second; }); int ans = maxNum.first; int apariciones = maxNum.second; int positivas = 0, negativas = 0; for (int i = 0; i < N; i++) { if (v[i] == ans) { if (v