#include<iostream> #include<string> #include<vector> #include<algorithm> #include<unordered_map> using namespace std; int main() { int n;//输入键值对的个数; cin >> n; vector<int> arr;//定义一个容器。 unordered_map<int, int> map1;//无序映射表,存储key-value且不允许重复 while(n-- > 0){//依次输入n对键值 int key,value; cin >> key >> value; if(map1.count(key) == 0)//判断映射表中当前key对应的value有无; { map1[key] = value;//将当前value放入对应的key中。 arr.push_back(key);//并且将这个key放到一个arr数组中; }else{ map1[key] += value;//如果已经有了对应的value,后面同样的key 的value,直接相加; } } sort(arr.begin(),arr.end());//将key进行排序 for(int i = 0;i < arr.size();i++){ cout<<arr[i]<<" "<<map1[arr[i]] << endl;//先输出key,再输出value; } return 0; }