#include <cstdio>
#include <map> // нужный для map-а include

using namespace std;

map <int, int> m; // на самом деле это set < pair<int,int> > т.е. множество пар

int main()
{
  m[123] = 2; // map в использовании похож на массив m[i], разница в том, что тип и диапозон "i" произвольный
  m[-123] = 3;

  printf("%d\n", m[123]);
  printf("%d\n", m[-123]);

  printf("size = %d\n", m.size()); // выведет 2
  printf("count = %d\n", m.count(30)); // выведет 0
  printf("m[30] = %d\n", m[30]); // если в 30-ю ячейку еще ничего не положили, она инициализируется 0-м
  printf("count = %d\n", m.count(30)); // выведет 1
  printf("size = %d\n", m.size()); // выведет 3
  return 0;
}