# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1177202 | kfhjad | Race (IOI11_race) | C++20 | 6 ms | 14400 KiB |
#include "race.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MX = 200001;
vector<pair<int, int>> adj[MX];
map<ll, int> m[MX];
ll extra[MX];
int K;
int ans = 1E9;
void merge(int node, int u, int dist)
{
if (m[node].size() < m[u].size())
{
swap(m[node], m[u]);
swap(extra[node], extra[u]);
for (auto& [len, highways] : m[u])
{
int x = K - dist - (len + extra[u]) - extra[node];
if (m[node].count(x))
ans = min(ans, m[node][x] + highways + 1);
}
m[node][-extra[node]] = 1;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |