一个礼物由n部分及m条绳子组成,每次拆掉一个部分有代价v,问你最小代价是多少。
看似麻烦的题,往往代码都短,每次都选出小的加起来就好了。。
AC代码:
#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
const int maxn = 1005;
int n, m, v[maxn];
int main(int argc, char const *argv[])
{
cin >> n >> m;
for(int i = 1; i <= n; ++i)
cin >> v[i];
int ans = 0, x, y;
while(m--) {
cin >> x >> y;
ans += min(v[x], v[y]);
}
cout << ans << endl;
return 0;
}