List存值,Map查找,Set排序:
#include <iostream>
#include <set>
#include <list>
#include <unordered_map>
using namespace std;
int main() {
int n;
while (cin >> n) {
int key, value;
list<int> List;
unordered_map<int, list<int>::iterator> Map;
set<int> Set;
while (n--) {
cin >> key >> value;
auto iter = Map.find(key);
if (iter != Map.end()) {
*iter->second += value;
}
else {
List.push_front(value);
Map.insert({ key, List.begin() });
Set.insert(key);
}
}
for (int i : Set) {
cout << i << " " << *Map[i] << endl;
}
}
} 


京公网安备 11010502036488号