Advertisement
GastonFontenla

Map

Jul 11th, 2020
1,415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. #include <iostream>
  2. #include <map>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     /**
  9.     (1 <= N <= 100.000)
  10.     Hay una competencia con N participantes
  11.     Por cada participante sabemos su nombre
  12.     (en minuscula, sin espacios y sin acento
  13.      ni ñ) a lo sumo 10 letras.
  14.     Hay Q consultas (1 <= Q <= 100.000)
  15.     La consulta del tipo A nos da un nombre
  16.     de un participante que respondió una
  17.     pregunta correctamente (se le suma 1 a
  18.     su puntaje)
  19.     La consulta del tipo B nos da un nombre
  20.     de un participante, queremos saber
  21.     cuántos puntos tiene en total
  22.     La consulta del tipo C, borrar a un participante
  23.     **/
  24.  
  25.     /**
  26.     5
  27.     valu julio rasta emiliano gaston
  28.     15
  29.     A valu
  30.     B valu
  31.     A emiliano
  32.     A julio
  33.     A rasta
  34.     B julio
  35.     A julio
  36.     A julio
  37.     A julio
  38.     A julio
  39.     A julio
  40.     A gaston
  41.     C gaston
  42.     A emiliano
  43.     B julio
  44.     **/
  45.  
  46.     int n;
  47.     cin >> n;
  48.     ///   key    value
  49.     map <string, int> puntos;
  50.     for(int i=0; i<n; i++)
  51.     {
  52.         string s; ///s = "juan"
  53.         cin >> s;
  54.         puntos[s] = 5; ///log(puntos.size())
  55.     }
  56.  
  57.     int q;
  58.     cin >> q;
  59.     for(int i=0; i<q; i++)
  60.     {
  61.         char tipo;
  62.         string s;
  63.         cin >> tipo >> s;
  64.         if(tipo == 'A')
  65.         {
  66.             puntos[s]++;
  67.         }
  68.         else if(tipo == 'B')
  69.         {
  70.             cout << s << " tiene " << puntos[s] << " puntos" << endl;
  71.         }
  72.         else
  73.         {
  74.             puntos.erase(puntos.find(s));
  75.         }
  76.     }
  77.  
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement