typedef pair<int, int> ii; map<ii, int> PD; map<ii, int>::iterator PDi; ... int funcao(int a, int b) { ... PDi = PD.find(ii(a, b)); if (PDi != PD.end()) return PDi->second; ... return PD[ii(a, b)] = resp; }Adaptado de 2015, Ricardo Oliveira. MEDITEC 6. PD Aplicado a Competições de Programação.