牛客编程巅峰赛S2第12场 - 青铜&白银&黄金

共鸣问题
解题思路:对于每对匹配(x,y,z)如果都不响是 -z,如果响一个是 0,如果都响是 z
那么可以一开始减去对应的z,那么如果都不响是 0,如果响一个是 +z,如果都响是 +2z
之后贪心即可,讲题人的思路,太妙了!(记得用long long)

long long wwork(int n, int m, vector<int>& a, vector<vector<int> >& b) {
        // write code here
        long long ans=0;
        vector<long long> p(n);
        for(auto &i : b){
            ans-=i[2];
            p[i[0]-1]+=i[2];
            p[i[1]-1]+=i[2];
        }
        for(int i=0;i<n;++i)
        {
            if(a[i]+p[i]>0)ans+=a[i]+p[i];
        }
        return ans;
    }
全部评论

相关推荐

10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务