Submission #1287645

#TimeUsernameProblemLanguageResultExecution timeMemory
1287645islam_2010경주 (Race) (IOI11_race)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int sz = 2e5+5; const int inf = 1e9 + 7; vector<pair<int, int>> g[sz]; vector<pair<int, int>> len[sz]; vector<int> sub(sz); vector<bool> isremoved(sz); vector<pair<int, int>> anc[sz]; map<int, int> mp; int mn = sz, mx; int subtree_size(int node, int p = -1){ sub[node] = 1; for(auto i: g[node]){ if(isremoved[i.first] || i.first == p) continue; sub[node] += subtree_size(i.first, node); }return sub[node]; } int get_centroid(int node, int stsz, int p = -1){ for(auto i: g[node]){ if(isremoved[i.first] || i.first == p) continue; if(sub[i.first] * 2 > stsz){ return get_centroid(i.first, stsz, node); } }return node; } int search(int node, int p = -1, int d = 0, int dist = 0, int k, bool calc){ if(d > k){ return; } if(calc){ if(mp[k-d]){ for(auto i: len[k-d]){ mn = min(mn, i.first+dist); } } }else { mp[d]++; len[d].push_back({dist, node}); mx = max(mx, d); } for(auto i: g[node]){ if(isremoved[i.first] || i.first == p) continue; search(i.first, node, d + i.second, dist+1, k, calc); } } int build(int node, int k){ int cent = get_centroid(node, subtree_size(node)); mp[0] = 1; isremoved[cent] = true; mx = 0; mn = inf; search(cent, cent, 0, 0, k, 0); search(cent, cent, 0, 0, k, 1); for(int i = 0; i < mx; i++){ len[i].clear(); }mp.clear(); for(auto i: g[cent]){ if(!isremoved[i.first]){ build(i.first, k); } } } int best_path(int N, int K, int H[][2], int L[]){ for(int i = 0; i < N; i++){ g[H[i][0]].push_back({H[i][1], L[i]}); g[H[i][1]].push_back({H[i][0], L[i]}); } return mn; }

Compilation message (stderr)

race.cpp:31:63: error: default argument missing for parameter 5 of 'long long int search(long long int, long long int, long long int, long long int, long long int, bool)'
   31 | int search(int node, int p = -1, int d = 0, int dist = 0, int k, bool calc){
      |                                                               ^
race.cpp:31:26: note: ...following parameter 2 which has a default argument
   31 | int search(int node, int p = -1, int d = 0, int dist = 0, int k, bool calc){
      |                          ^
race.cpp:31:71: error: default argument missing for parameter 6 of 'long long int search(long long int, long long int, long long int, long long int, long long int, bool)'
   31 | int search(int node, int p = -1, int d = 0, int dist = 0, int k, bool calc){
      |                                                                  ~~~~~^~~~
race.cpp: In function 'long long int search(long long int, long long int, long long int, long long int, long long int, bool)':
race.cpp:33:9: error: return-statement with no value, in function returning 'long long int' [-fpermissive]
   33 |         return;
      |         ^~~~~~
race.cpp: In function 'long long int build(long long int, long long int)':
race.cpp:78:1: warning: no return statement in function returning non-void [-Wreturn-type]
   78 | }
      | ^
race.cpp: In function 'long long int search(long long int, long long int, long long int, long long int, long long int, bool)':
race.cpp:57:1: warning: control reaches end of non-void function [-Wreturn-type]
   57 | }
      | ^