Submission #1010136

#TimeUsernameProblemLanguageResultExecution timeMemory
1010136nickolasarapidisClosing Time (IOI23_closing)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "closing.h" using namespace std; #define ll long long const int MAXN = 200000; vector<pair<int, int> > adj[MAXN]; map<ll, int> m; int ans = 2; void dfsPrecompute(int s, int e, vector<ll> dis){ for(auto u : adj[s]){ if(u.first != e){ dfsPrecompute(u.first, s, dis); dis[u.first] = dis[s] + u.second; } } } void dfs(int s, int e, vector<int> C, vector<ll> dis){ ans++; for(auto u : adj[s]){ if(u.first != e and dis[u.first] <= C[u.first]){ dfs(u.first, s, C, dis); } } } int max_score(int N, int X, int Y, int64 K, int[] U, int[] V, 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]}); } vector<ll> disX(N); vector<ll> disY(N); vector<ll> dis(N); vector<ll> large(N); vector<ll> C(N, 0); disX[X] = 0; disY[Y] = 0; ll sum = 0; dfsPrecompute(X, -1, disX); dfsPrecompute(Y, -1, disY); for(int i = 0; i < N; i++){ dis[i] = min(disX[i], disY[i]); m[dis[i]] = i; large[i] = max(disX[i], disY[i]); } sort(dis.begin(), dis.end()); for(int i = 2; i < N; i++){ if(sum += dis[i] <= K){ if(sum += large[m[dis[i]]] <= K){ C[i] = large[m[dis[i]]; } else{ C[i] = dis[i]; } } else{ break; } } dfs(X, -1, C, dis); dfs(Y, -1, C, dis); return ans; }

Compilation message (stderr)

closing.cpp:33:36: error: 'int64' has not been declared
   33 | int max_score(int N, int X, int Y, int64 K, int[] U, int[] V, int[] W){
      |                                    ^~~~~
closing.cpp:33:51: error: expected ',' or '...' before 'U'
   33 | int max_score(int N, int X, int Y, int64 K, int[] U, int[] V, int[] W){
      |                                                   ^
closing.cpp: In function 'int max_score(int, int, int, int, int*)':
closing.cpp:35:7: error: 'U' was not declared in this scope
   35 |   adj[U[i]].push_back({V[i], W[i]});
      |       ^
closing.cpp:35:24: error: 'V' was not declared in this scope
   35 |   adj[U[i]].push_back({V[i], W[i]});
      |                        ^
closing.cpp:35:30: error: 'W' was not declared in this scope
   35 |   adj[U[i]].push_back({V[i], W[i]});
      |                              ^
closing.cpp:66:27: error: expected ']' before ';' token
   66 |     C[i] = large[m[dis[i]];
      |                           ^
      |                           ]
closing.cpp:77:13: error: could not convert 'C' from 'vector<long long int>' to 'vector<int>'
   77 |  dfs(X, -1, C, dis);
      |             ^
      |             |
      |             vector<long long int>
closing.cpp:78:13: error: could not convert 'C' from 'vector<long long int>' to 'vector<int>'
   78 |  dfs(Y, -1, C, dis);
      |             ^
      |             |
      |             vector<long long int>