Submission #961977

# Submission time Handle Problem Language Result Execution time Memory
961977 2024-04-13T01:08:29 Z Kakarot Cat Exercise (JOI23_ho_t4) C++
0 / 100
0 ms 352 KB
#include <bits/stdc++.h>
#define int int64_t
using namespace std;

void setIO() {
    cin.tie(0)->sync_with_stdio(0);
}

void solve() {
    //cout << "tc/death";
    int n, idx;
    cin >> n;
    vector<pair<int, int>> tc(n);
    for(int i = 0; i < n; i++) {
        cin >> tc[i].first;
        tc[i].second = i;
        if(tc[i].first == n) idx = tc[i].second;
    } 
   // for(auto &x : tc) cout << x.first << ' ' << x.second << '\n';
   // cout << idx;
    vector<vector<int>> adj(n);
    for(int i = 0; i < n-1; i++) {
        int u, v; cin >> u >> v;
        adj[--u].push_back(--v);
        adj[v].push_back(u);
    }
    priority_queue<pair<int, int>> pq;
    pq.push({n, idx});
    int ans = 0;
    if(idx > n-1-idx) {
        //cout << "TC";
        for(int i = 0; i < idx; i++) {
            pq.push(tc[i]);
        }
        while(!pq.empty()) {
            auto a = pq.top();
            pq.pop();
            if(pq.empty()) break;
            ans += abs(a.second-pq.top().second);
        }
    }
    else {
        //cout << "TC/death";
        for(int i = idx+1; i < n; i++) {
            pq.push(tc[i]);
        }
        while(!pq.empty()) {
            auto a = pq.top();
            pq.pop();
            if(pq.empty()) break;
            ans += abs(a.second-pq.top().second);
        }
    }
    cout << ans;//*/
}

int32_t main() {
    setIO();
    solve();
    return 0;
}

Compilation message

Main.cpp: In function 'void solve()':
Main.cpp:32:26: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |         for(int i = 0; i < idx; i++) {
      |                        ~~^~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 352 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -