题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <iostream> #include <unordered_map> #include <vector> #include <algorithm> using namespace std; int main() { int n; unordered_map<int, int> res; cin >> n; while (n--) { int n1, n2; cin >> n1 >> n2; if (res.find(n1) != res.end()) res[n1] += n2; else res[n1] = n2; } std::vector<std::pair<int, int>> tmp; for (auto& i : res) tmp.push_back(i); std::sort(tmp.begin(), tmp.end(), [ = ](std::pair<int, int>& a, std::pair<int, int>& b) { return a.first < b.first; }); for (auto iter = tmp.begin(); iter != tmp.end(); ++iter) { cout << iter->first << " " << iter->second << endl; } return 0; }