谈判 (贪心//蓝桥杯)

链接

贪心,对数组排序一下,让人数多的组尽可能少地进行合并操作.

Code:

#include 

using i64 = long long;

i64 sum;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int n;
    std::cin >> n;
    std::vector a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }
    std::sort(a.begin(), a.end());
    for (int i = 0; i < n - 1; i++) {
        sum += (a[i] + a[i + 1]);
        a[i + 1] += a[i];
    }
    std::cout << sum;
    return 0;
}

你可能感兴趣的:(蓝桥杯,蓝桥杯,c++)