| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 520673 | two_sides | Safety (NOI18_safety) | C++17 | 52 ms | 5544 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
priority_queue<ll,vector<ll>,less<ll>> lef;
priority_queue<ll,vector<ll>,greater<ll>> rig;
int main() {
cin.tie(0)->sync_with_stdio(0);
int n; ll h, x, res = 0;
cin >> n >> h >> x;
lef.push(x); rig.push(x);
for (int i = 1; i < n; i++) {
ll d = h * i; cin >> x;
ll l = lef.top() - d;
ll r = rig.top() + d;
if (x < l) {
lef.push(x + d); lef.push(x + d);
lef.pop(); rig.push(l - d);
res += l - x;
} else if (x > r) {
rig.push(x - d); rig.push(x - d);
rig.pop(); lef.push(r + d);
res += x - r;
} else {
lef.push(x + d); rig.push(x - d);
}
}
cout << res;
}| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
