AC代码:
#include <queue>
#include <iostream>
using namespace std;
int main(){
priority_queue<int,vector<int>,greater<int>> pq;
int N,_;
cin >> N;
for (int i=0;i<N;i++){
cin >> _;
pq.push(_);
}
int a,b,ans__;
ans__=0;
while (pq.size()>1){
a=pq.top();pq.pop();
b=pq.top();pq.pop();
pq.push(a+b);ans__+=(a+b);
}
cout << ans__;
}
全WA代码:
#include <queue>
#include <iostream>
using namespace std;
int main(){
priority_queue<int,vector<int>,greater<int>> pq;
int N,_;
cin >> N;
for (int i=0;i<N;i++){
cin >> _;
pq.push(_);
}
int a,b,ans__;
while (pq.size()>1){
a=pq.top();pq.pop();
b=pq.top();pq.pop();
pq.push(a+b);ans__+=(a+b);
}
cout << ans__;
}
区别在于L14后的ans__=0;。
求各位大佬解答?