能合并为啥不能拆分
查看原帖
能合并为啥不能拆分
1579860
L_FF楼主2025/7/23 16:08

用合并方式是过了,但是为啥不能拆分啊,没懂

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define lll unsigned long long
#define debug(x) cout << #x << ":" << x << endl
using namespace std;
void solve(){
    int n;
    cin>>n;
    priority_queue<int>q;
    int len=0;
    for(int i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        len+=x;
        q.push(x);
    }
    int ans=0;
    if(n==1)
    {
        cout<<len;
        return;
    }
    for(int i=1;i<=n-1;i++)
    {
        int y=q.top();
        q.pop();
        ans+=len;
        // debug(ans);
        len-=y;
    }
    cout<<ans;
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
2025/7/23 16:08
加载中...