| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1324857 | xyz7577 | Shortcut (IOI16_shortcut) | C++17 | 2094 ms | 400 KiB |
#include <bits/stdc++.h>
using namespace std;
using int64 = long long;
int64 find_shortcut(int n, vector<int> l, vector<int> d, int c) {
vector<int64> pos(n);
for (int i=1;i<n;i++) pos[i]=pos[i-1]+l[i-1];
int64 ans=LLONG_MAX;
for (int i=0; i<n;i++) {
for (int j=i+1;j<n;j++) {
int64 diam=0;
for (int x=0; x<n; x++) {
int64 max_dist=0;
for (int y=0; y<n; y++) {
if (y==x) continue;
int64 normal=llabs(pos[x]-pos[y]);
int64 via1=llabs(pos[x]-pos[i])+c+llabs(pos[y]-pos[j]);
int64 via2=llabs(pos[x]-pos[j])+c+llabs(pos[y]-pos[i]);
int64 best=min(normal, min(via1, via2));
int64 dist=best+d[x]+d[y];
max_dist=max(max_dist,dist);
}
diam=max(diam, max_dist);
}
ans=min(ans, diam);
}
}
return ans;
}
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... | ||||
| # | 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... | ||||
