Submission #599738

#TimeUsernameProblemLanguageResultExecution timeMemory
599738MohamedFaresNebiliHighway Tolls (IOI18_highway)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "highway.h" /// #pragma GCC optimize ("Ofast") /// #pragma GCC target ("avx2") /// #pragma GCC optimize("unroll-loops") using namespace std; using ll = long long; using ld = long double; using ii = pair<ll, ll>; using vi = vector<int>; #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define lb lower_bound const int MOD = 1e9 + 7; vector<int> adj[100005], D[100005]; map<int, int> K[100005]; int P[100005]; void dfs(int v, int p, int d) { D[d].push_back(v); P[v] = p; for(auto u : adj[v]) { if(u == p) continue; dfs(u, v, p + 1); } } void find_pair(int N, vector<int> U, vector<int> V, int A, int B) { int M = U.size(); vector<int> W(M, 0); ll E = ask(W); E /= A; for(int l = 0; l < M; l++) { int X = U[l], Y = V[l]; K[X][Y] = K[Y][X] = l; adj[X].push_back(Y); adj[Y].push_back(X); } dfs(0, 0, 0); int lo = 0, hi = D[E].size() - 1, res = 0; while(lo <= hi) { int md = (lo + hi) / 2; for(int l = 0; l <= md; l++) { W[K[D[E][l]][P[D[E][l]]]] = 1; } ll C = ask(W); for(int l = 0; l <= md; l++) { W[K[D[E][l]][P[D[E][l]]]] = 0; } if(C > E * K) res = D[E][md], hi = md - 1; else lo = md + 1; } answer(0, res); }

Compilation message (stderr)

highway.cpp: In function 'void find_pair(int, std::vector<int>, std::vector<int>, int, int)':
highway.cpp:53:22: error: invalid operands of types 'll' {aka 'long long int'} and 'std::map<int, int> [100005]' to binary 'operator*'
   53 |             if(C > E * K) res = D[E][md], hi = md - 1;
      |                    ~ ^ ~
      |                    |   |
      |                    |   std::map<int, int> [100005]
      |                    ll {aka long long int}