题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

#include <iostream>
using namespace std;
#include <map>
int main() {
    int a;
    cin >> a;
    multimap<int, int> m;
    map<int, int> n;
    for (int i = 0; i < a; i++) {
        int b, c;
        cin >> b >> c;
        m.insert(make_pair(b, c));
    }
    int g= m.begin()->first;
    int sum=0;
    for (multimap<int, int>::iterator it = m.begin(); it != m.end(); it++) {
        if(it->first==g){
            sum+=it->second;
        }else{
            n.insert(make_pair(g,sum));
            sum=it->second;
            g=it->first;
        }
    }n.insert(make_pair(g,sum));
    
        
    for (map<int, int>::iterator it = n.begin(); it != n.end(); it++) {
        cout << it->first << " " << it->second << endl;
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
Aurora23:属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务