注意
指数有可能为负数!
#include<bits/stdc++.h> using namespace std; int main(){ int n,x,y; while(cin>>n){ int M=-1; unordered_map<int,int> mp; for(int i=0;i<n;i++){ cin>>x>>y; mp[y]=x; if(y>M) M=y; } cin>>n; for(int i=0;i<n;i++){ cin>>x>>y; mp[y]+=x; if(y>M) M=y; } int flag=0; for(int i=M;i>=-1001;i--){ if(mp[i]!=0){ if(flag==0) cout<<mp[i]<<" "<<i; else cout<<" "<<mp[i]<<" "<<i; flag++; } } cout<<endl; } return 0; }