关键知识点:使用迭代器和map字典

map<int, int> m;:声明map对象

map<int, int>::iterator mi;:声明一个迭代器对象

for (mi = m.begin(); mi != m.end(); mi++):便利迭代器

mi->first:输出map的key

mi->second:输出map的val

#include <iostream>
#include <map>
using namespace std;

int main() {
    int n = 0;
    map<int, int> m;
    map<int, int>::iterator mi;

    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int a, b;
        cin >> a >> b;
        mi = m.find(a);
        if (mi != m.end()) {
            m[a] = mi->second + b;
        }
        else {
            m[a] = b;
        }
    }
    for (mi = m.begin(); mi != m.end(); mi++)
    {
        cout << mi->first << " " << mi->second << endl;
    }
}
// 64 位输出请用 printf("%lld")