| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1192302 | Mousa_Aboubaker | Roller Coaster Railroad (IOI16_railroad) | C++20 | 2094 ms | 589824 KiB |
#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
long long plan_roller_coaster(vector<int> s, vector<int> t)
{
int n = s.size();
vector adj(n, vector<pair<int, long long>>());
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(i == j)
continue;
adj[i].push_back({j, max(0, t[i] - s[j])});
}
}
int cnt = 0;
vector<bool> vis(n, false);
long long mn = 1e18 + 10;
auto dfs = [&](auto self, int u, long long sum) -> void
{
if(vis[u])
{
return;
}
cnt++;
if(cnt == n)
{
if(mn > sum)
mn = sum;
cnt--;
return;
}
vis[u] = true;
for(auto [v, w]: adj[u])
{
if(not vis[v])
self(self, v, sum + w);
}
vis[u] = false;
cnt--;
};
for(int i = 0; i < n; i++)
{
dfs(dfs, i, 0ll);
}
return mn;
}
Compilation message (stderr)
| # | 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... | ||||
