#include<iostream>
#include<map>
using namespace std;
int main() {
int n;
cin>>n; //输入键值对的个数
map<int, int> m; //使用map容器,自带键值对数据结构
map<int, int>::iterator it; //map类型的迭代器
for(int i=0;i<n;i++) {
int a,b;
cin>>a>>b; //每行输入一个键值对
it = m.find(a); //查找键a是否存在
if(it != m.end()) { //如果存在,对键相同的单元的值部分进行求和;
m[a] = it->second + b;
}else { //如果不存在生成新的键值对
m[a] = b;
}
}
for(it=m.begin();it!=m.end();it++) { //遍历打印
cout<<it->first<<" "<<it->second<<endl;
}
return 0;
}
//Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,
//每个关键字只能在map中出现一次,第二个可能称为该关键字的值
#include<map>
using namespace std;
int main() {
int n;
cin>>n; //输入键值对的个数
map<int, int> m; //使用map容器,自带键值对数据结构
map<int, int>::iterator it; //map类型的迭代器
for(int i=0;i<n;i++) {
int a,b;
cin>>a>>b; //每行输入一个键值对
it = m.find(a); //查找键a是否存在
if(it != m.end()) { //如果存在,对键相同的单元的值部分进行求和;
m[a] = it->second + b;
}else { //如果不存在生成新的键值对
m[a] = b;
}
}
for(it=m.begin();it!=m.end();it++) { //遍历打印
cout<<it->first<<" "<<it->second<<endl;
}
return 0;
}
//Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,
//每个关键字只能在map中出现一次,第二个可能称为该关键字的值