Submission #866102

#TimeUsernameProblemLanguageResultExecution timeMemory
866102vjudge1Closing Time (IOI23_closing)C++17
Compilation error
0 ms0 KiB
#include "closing.h" #include <bits/stdc++.h> using namespace std; namespace{ const int MAXN = 2e5 + 3; vector<pair<int, int>> adj[MAXN]; long long dep1[MAXN]; long long dep2[MAXN]; void dfs(int node, int par, int dep[]){ for (auto [to, w] : adj[node]){ if (to == par) continue; dep[to] = dep[node] + w; dfs(to, node, dep); } } } int max_score(int N, int X, int Y, long long K, vector<int> U, vector<int> V, vector<int> W) { for (int i = 0; i < N - 1; i++){ adj[U[i]].push_back({V[i], W[i]}); adj[V[i]].push_back({U[i], W[i]}); } dfs(X, -1, dep1); dfs(Y, -1, dep2); priority_queue<long long, vector<long long>, greater<long long>> pq; for (int i = 0; i < N; i++){ pq.push(dep1[i]); pq.push(dep2[i]); } int ans = 0; while (!pq.empty() && pq.top() <= K){ K -= pq.top(); pq.pop(); ans++; } for (int i = 0; i < N; i++){ adj[i].clear(); dep1[i] = dep2[i] = 0; } return ans; }

Compilation message (stderr)

closing.cpp: In function 'int max_score(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:23:13: error: cannot convert 'long long int*' to 'int*'
   23 |  dfs(X, -1, dep1);
      |             ^~~~
      |             |
      |             long long int*
closing.cpp:9:34: note:   initializing argument 3 of 'void {anonymous}::dfs(int, int, int*)'
    9 |  void dfs(int node, int par, int dep[]){
      |                              ~~~~^~~~~
closing.cpp:24:13: error: cannot convert 'long long int*' to 'int*'
   24 |  dfs(Y, -1, dep2);
      |             ^~~~
      |             |
      |             long long int*
closing.cpp:9:34: note:   initializing argument 3 of 'void {anonymous}::dfs(int, int, int*)'
    9 |  void dfs(int node, int par, int dep[]){
      |                              ~~~~^~~~~