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). Ejemplo : Entrada: 12 +1 +4 +4 +9 +7 +7 -9 +7 +4 +7 -4 -4 . Salida : 4 3 2 .
#include <iostream> #include <vector> using namespace std; int main() { int N; cin >> N; vector<int> vect(10, 0); while (N--) { char c; int val; cin >> c >> val; if (c == '+') { ++vect[val]; } else { --vect[val]; } } int max = -1, max_idx = -1, neg = 0, pos = 0; for (int i = 0; i < 10; ++i) { if (vect[i] > max) { max = vect[i]; max_idx = i; } else if (vect[i] == max && i < max_idx) { max_idx = i; } } if (vect[max_idx] > 0) { pos = vect[max