题解 CF981B 【Businessmen Problems】 Posted on 2020-09-14 | 其实不要上面那个大佬讲得那么麻烦 用一个 $map$ 记录每个编号的最大价值,再遍历 $map$ 求总和就可以了 code:12345678910111213141516171819202122232425#include#define fol(i,a,b) for(int i=a;i<=(b);i++)#define bor(i,a,b) for(int i=a;i>=(b);--i)#define int long longusing namespace std;map<int,int> mp;signed main(){ int n,m,tmp; cin>>n; fol(i,1,n){ cin>>m>>tmp; mp[m]=max(mp[m],tmp); } cin>>n; fol(i,1,n){ cin>>m>>tmp; mp[m]=max(mp[m],tmp); } int sum=0; for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++){ sum+=(*it).second; } cout<endl; return 0;} Post author: yuygfgg Post link: https://yuygfgg.ml/2020/09/14/solution-cf981b-1/ Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.