1 solutions

  • 0
    @ 2025-3-3 16:33:14

    C++ :

    #include<iostream>
    #include<queue>
    using namespace std;
    
    priority_queue<int, vector<int>, greater<int> > p;  //定义小根堆
    int main(){
       int n,i,x,y,s=0;
       cin>>n;
       //将赋值的数推入队列
       for(i=1;i<=n;i++){
       		cin>>x;
       		p.push(x);
       }
       for(i=1;i<=n-1;i++){
       		x = p.top();
    		p.pop();
    		y = p.top();
    		p.pop();
    		p.push(x+y);
    		s = s + x+y;	
       }
       cout<<s;
        return 0;
    }
    
    
    • 1

    Information

    ID
    10539
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By