CF437C题解

思路很妙/youl

题目大意见翻译,说得很清楚/youl

首先,这个图到最后所有点都会被删除,所以所有边都会被删除。

但是考虑点的贡献会很麻烦,所以在这里我们考虑边的贡献。

边的贡献就是,左端点和右端点中权值较小的那个(显然)

然后没了。。。

code:

#include<cstdio>
const int M=1e5+5;
int n,m,a[M];
long long ans;
inline int min(const int&a,const int&b){
    return a>b?b:a;
}
signed main(){
    register int i,u,v;
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;++i)scanf("%d",a+i);
    for(i=1;i<=m;++i){
        scanf("%d%d",&u,&v);
        ans+=min(a[u],a[v]);
    }
    printf("%lld",ans);
}
posted @ 2022-01-10 15:51  Prean  阅读(56)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};