为何这里的ans__没有被int初始化为0?
查看原帖
为何这里的ans__没有被int初始化为0?
762646
Piggy343288楼主2022/8/4 08:28

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;。 求各位大佬解答?

2022/8/4 08:28
加载中...