| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1228236 | Good | Race (IOI11_race) | C++20 | Compilation error | 0 ms | 0 KiB |
void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
lvl[nd] = lvl[p] + 1;
sz[nd] = 1;
pref[nd] = pref[p] + weight;
sf[nd].ff = nodes.size();
nodes.pb(nd);
for (pii &v: adj[nd]) {
if (v.ff != p) {
calcsz(v.ff, nd, v.ss, adj, sz, lvl, pref, nodes, sf);
sz[nd] += sz[v.ff];
}
}
sf[nd].ss = nodes.size();
}
void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
int big_child = -1, mxsz = 0;
for (pii &v: adj[nd]) {
if (v.ff != p) {
dfs(k, v.ff, nd, adj, sz, lvl, pref, nodes, sf, mp, ans);
if (mxsz < sz[v.ff]) big_child = v.ff, mxsz = sz[v.ff];
}
}
if (big_child != -1) {
mp[nd] = mp[big_child];
} else {
mp[nd] = new map<ll, int>();
}
for (pii &v: adj[nd]) {
if (v.ff != p && v.ff != big_child) {
map<ll, int> temp;
for (int i = sf[v.ff].ff; i < sf[v.ff].ss; i++) {
if (mp[nd]->find(k + 2*pref[nd] - pref[i]) != mp[nd]->end()) {
ans = min(ans, lvl[i] + (*mp[nd])[k + 2 * pref[nd] - pref[i]] - 2 * lvl[nd]);
}
if (temp.find(pref[i]) != temp.end()) temp[pref[i]] = min(temp[pref[i]], lvl[i]);
else temp[pref[i]] = lvl[i];
}
for (auto &j: temp) {
if (mp[nd]->find(j.ff) != mp[nd]->end()) (*mp[nd])[j.ff] = min((*mp[nd])[j.ff], j.ss);
else (*mp[nd])[j.ff] = j.ss;
}
}
}
if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
ans = min(ans, (*mp[nd])[k + pref[nd]] - lvl[nd]);
if (mp[nd]->find(pref[nd]) != mp[nd]->end()) (*mp[nd])[pref[nd]] = min((*mp[nd])[pref[nd]], lvl[nd]);
else (*mp[nd])[pref[nd]] = lvl[nd];
// cout << nd << '\n';
// for (auto &j: (*mp[nd])) {
// cout << j.ff << ' ' << j.ss << '\n';
// }
}
int best_path(int N, int K, int H[][2], int L[])
{
vector<vector<pii>> adj(N);
for (int i = 0; i < N; i++) {
adj[H[i][0]].pb({H[i][1], L[i]});
adj[H[i][1]].pb({H[i][0], L[i]});
}
vector<int> sz(N, 0), lvl(N, 0), nodes;
vector<pii> sf(N);
vector<ll> pref(N);
vector<map<ll, int>*> mp(N);
int ans = mod;
calcsz(0, 0, 0, adj, sz, lvl, pref, nodes, sf);
dfs(K, 0, 0, adj, sz, lvl, pref, nodes, sf, mp, ans);
if (ans == mod) return -1;
return ans;
}
Compilation message (stderr)
race.cpp:1:54: error: 'pii' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:47: error: 'vector' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~~~~
race.cpp:1:54: error: 'pii' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:47: error: 'vector' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~~~~
race.cpp:1:54: error: 'pii' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:47: error: 'vector' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~~~~
race.cpp:1:54: error: 'pii' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:54: error: 'pii' was not declared in this scope
race.cpp:1:47: error: 'vector' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~~~~
race.cpp:1:54: error: 'pii' was not declared in this scope
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~
race.cpp:1:40: error: 'vector' has not been declared
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^~~~~~
race.cpp:1:46: error: expected ',' or '...' before '<' token
1 | void calcsz(int nd, int p, int weight, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf) {
| ^
race.cpp: In function 'void calcsz(int, int, int, int)':
race.cpp:2:5: error: 'lvl' was not declared in this scope
2 | lvl[nd] = lvl[p] + 1;
| ^~~
race.cpp:3:5: error: 'sz' was not declared in this scope
3 | sz[nd] = 1;
| ^~
race.cpp:4:5: error: 'pref' was not declared in this scope
4 | pref[nd] = pref[p] + weight;
| ^~~~
race.cpp:5:5: error: 'sf' was not declared in this scope
5 | sf[nd].ff = nodes.size();
| ^~
race.cpp:5:17: error: 'nodes' was not declared in this scope
5 | sf[nd].ff = nodes.size();
| ^~~~~
race.cpp:7:10: error: 'pii' was not declared in this scope
7 | for (pii &v: adj[nd]) {
| ^~~
race.cpp:7:16: error: found ':' in nested-name-specifier, expected '::'
7 | for (pii &v: adj[nd]) {
| ^
| ::
race.cpp:7:15: error: 'v' has not been declared
7 | for (pii &v: adj[nd]) {
| ^
race.cpp:14:1: error: expected primary-expression before '}' token
14 | }
| ^
race.cpp:13:30: error: expected ')' before '}' token
13 | sf[nd].ss = nodes.size();
| ^
| )
14 | }
| ~
race.cpp:7:9: note: to match this '('
7 | for (pii &v: adj[nd]) {
| ^
race.cpp:14:1: error: expected primary-expression before '}' token
14 | }
| ^
race.cpp: At global scope:
race.cpp:16:46: error: 'pii' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:39: error: 'vector' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~~~~
race.cpp:16:46: error: 'pii' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:39: error: 'vector' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~~~~
race.cpp:16:46: error: 'pii' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:39: error: 'vector' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~~~~
race.cpp:16:46: error: 'pii' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:46: error: 'pii' was not declared in this scope
race.cpp:16:39: error: 'vector' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~~~~
race.cpp:16:46: error: 'pii' was not declared in this scope
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~
race.cpp:16:32: error: 'vector' has not been declared
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^~~~~~
race.cpp:16:38: error: expected ',' or '...' before '<' token
16 | void dfs(int k, int nd, int p, vector<vector<pii>> &adj, vector<int> &sz, vector<int> &lvl, vector<ll> &pref, vector<int> &nodes, vector<pii> &sf, vector<map<ll, int>*> &mp, int &ans) {
| ^
race.cpp: In function 'void dfs(int, int, int, int)':
race.cpp:18:10: error: 'pii' was not declared in this scope
18 | for (pii &v: adj[nd]) {
| ^~~
race.cpp:18:16: error: found ':' in nested-name-specifier, expected '::'
18 | for (pii &v: adj[nd]) {
| ^
| ::
race.cpp:18:15: error: 'v' has not been declared
18 | for (pii &v: adj[nd]) {
| ^
race.cpp:25:5: error: expected primary-expression before 'if'
25 | if (big_child != -1) {
| ^~
race.cpp:23:6: error: expected ';' before 'if'
23 | }
| ^
| ;
24 |
25 | if (big_child != -1) {
| ~~
race.cpp:25:5: error: expected primary-expression before 'if'
25 | if (big_child != -1) {
| ^~
race.cpp:23:6: error: expected ')' before 'if'
23 | }
| ^
| )
24 |
25 | if (big_child != -1) {
| ~~
race.cpp:18:9: note: to match this '('
18 | for (pii &v: adj[nd]) {
| ^
race.cpp:26:9: error: 'mp' was not declared in this scope; did you mean 'p'?
26 | mp[nd] = mp[big_child];
| ^~
| p
race.cpp:28:9: error: 'mp' was not declared in this scope; did you mean 'p'?
28 | mp[nd] = new map<ll, int>();
| ^~
| p
race.cpp:28:26: error: 'll' was not declared in this scope
28 | mp[nd] = new map<ll, int>();
| ^~
race.cpp:28:22: error: expected type-specifier
28 | mp[nd] = new map<ll, int>();
| ^~~~~~~~~~~~
race.cpp:31:10: error: 'pii' was not declared in this scope
31 | for (pii &v: adj[nd]) {
| ^~~
race.cpp:31:16: error: found ':' in nested-name-specifier, expected '::'
31 | for (pii &v: adj[nd]) {
| ^
| ::
race.cpp:31:15: error: 'v' has not been declared
31 | for (pii &v: adj[nd]) {
| ^
race.cpp:50:5: error: expected primary-expression before 'if'
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ^~
race.cpp:48:6: error: expected ';' before 'if'
48 | }
| ^
| ;
49 |
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ~~
race.cpp:50:5: error: expected primary-expression before 'if'
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ^~
race.cpp:48:6: error: expected ')' before 'if'
48 | }
| ^
| )
49 |
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ~~
race.cpp:31:9: note: to match this '('
31 | for (pii &v: adj[nd]) {
| ^
race.cpp:50:9: error: 'mp' was not declared in this scope; did you mean 'p'?
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ^~
| p
race.cpp:50:26: error: 'pref' was not declared in this scope
50 | if (mp[nd]->find(k + pref[nd]) != mp[nd]->end())
| ^~~~
race.cpp:51:9: error: 'ans' was not declared in this scope
51 | ans = min(ans, (*mp[nd])[k + pref[nd]] - lvl[nd]);
| ^~~
race.cpp:51:50: error: 'lvl' was not declared in this scope
51 | ans = min(ans, (*mp[nd])[k + pref[nd]] - lvl[nd]);
| ^~~
race.cpp:51:15: error: 'min' was not declared in this scope
51 | ans = min(ans, (*mp[nd])[k + pref[nd]] - lvl[nd]);
| ^~~
race.cpp:53:9: error: 'mp' was not declared in this scope; did you mean 'p'?
53 | if (mp[nd]->find(pref[nd]) != mp[nd]->end()) (*mp[nd])[pref[nd]] = min((*mp[nd])[pref[nd]], lvl[nd]);
| ^~
| p
race.cpp:53:22: error: 'pref' was not declared in this scope
53 | if (mp[nd]->find(pref[nd]) != mp[nd]->end()) (*mp[nd])[pref[nd]] = min((*mp[nd])[pref[nd]], lvl[nd]);
| ^~~~
race.cpp:53:97: error: 'lvl' was not declared in this scope
53 | if (mp[nd]->find(pref[nd]) != mp[nd]->end()) (*mp[nd])[pref[nd]] = min((*mp[nd])[pref[nd]], lvl[nd]);
| ^~~
race.cpp:53:72: error: 'min' was not declared in this scope
53 | if (mp[nd]->find(pref[nd]) != mp[nd]->end()) (*mp[nd])[pref[nd]] = min((*mp[nd])[pref[nd]], lvl[nd]);
| ^~~
race.cpp:54:32: error: 'lvl' was not declared in this scope
54 | else (*mp[nd])[pref[nd]] = lvl[nd];
| ^~~
race.cpp: In function 'int best_path(int, int, int (*)[2], int*)':
race.cpp:65:19: error: 'pii' was not declared in this scope
65 | vector<vector<pii>> adj(N);
| ^~~
race.cpp:65:12: error: 'vector' was not declared in this scope
65 | vector<vector<pii>> adj(N);
| ^~~~~~
race.cpp:65:25: error: 'adj' was not declared in this scope
65 | vector<vector<pii>> adj(N);
| ^~~
race.cpp:71:12: error: expected primary-expression before 'int'
71 | vector<int> sz(N, 0), lvl(N, 0), nodes;
| ^~~
race.cpp:72:17: error: 'sf' was not declared in this scope
72 | vector<pii> sf(N);
| ^~
race.cpp:73:12: error: 'll' was not declared in this scope
73 | vector<ll> pref(N);
| ^~
race.cpp:73:16: error: 'pref' was not declared in this scope
73 | vector<ll> pref(N);
| ^~~~
race.cpp:74:12: error: 'map' was not declared in this scope
74 | vector<map<ll, int>*> mp(N);
| ^~~
race.cpp:74:20: error: expected primary-expression before 'int'
74 | vector<map<ll, int>*> mp(N);
| ^~~
race.cpp:75:15: error: 'mod' was not declared in this scope
75 | int ans = mod;
| ^~~
race.cpp:76:26: error: 'sz' was not declared in this scope
76 | calcsz(0, 0, 0, adj, sz, lvl, pref, nodes, sf);
| ^~
race.cpp:76:30: error: 'lvl' was not declared in this scope
76 | calcsz(0, 0, 0, adj, sz, lvl, pref, nodes, sf);
| ^~~
race.cpp:76:41: error: 'nodes' was not declared in this scope
76 | calcsz(0, 0, 0, adj, sz, lvl, pref, nodes, sf);
| ^~~~~
race.cpp:77:49: error: 'mp' was not declared in this scope
77 | dfs(K, 0, 0, adj, sz, lvl, pref, nodes, sf, mp, ans);
| ^~