题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <algorithm> #include <iostream> #include <unordered_map> using namespace std; int main() { int size; cin>>size; unordered_map<int, int> m; int ind[size]; int val[size]; int outSize=size; for(int i=0;i<size;i++) { cin>>ind[i]; cin>>val[i]; if(m.find(ind[i])!=m.end()) { m[ind[i]]+=val[i]; outSize--; } else { m.insert(pair<int,int>(ind[i], val[i])); } } sort(ind,ind+size); for(int i=0;i<size;i++) { if(i==0||ind[i]!=ind[i-1]) { cout<<ind[i]<<" "<<m[ind[i]]<<endl; } } } // 64 位输出请用 printf("%lld")