이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define int long long
int solveTestCase() {
int n;
cin >> n;
vector<pair<int, int>> up, down, up_, down_;
for (int i = 0; i < n * 2; i++) {
int x, y;
cin >> x >> y;
if (y <= 1)
down.emplace_back(x, y);
else
up.emplace_back(x, y);
}
sort(up.begin(), up.end());
sort(down.begin(), down.end());
int ans = 0;
for (int i = 1, p1 = 0, p2 = 0, i1 = 1, i2 = 1; i <= n; i++) {
while (p1 < up.size() && up[p1].first <= (i == n ? 1e9 : i))
up_.push_back(up[p1++]);
while (p2 < down.size() && down[p2].first <= (i == n ? 1e9 : i))
down_.push_back(down[p2++]);
while (i1 <= i && !up_.empty())
ans += abs(up_.back().first - i1++) + abs(up_.back().second - 2), up_.pop_back();
while (i2 <= i && !down_.empty())
ans += abs(down_.back().first - i2++) + abs(down_.back().second - 1), down_.pop_back();
while (i1 <= i && !down_.empty())
ans += abs(down_.back().first - i1++) + abs(down_.back().second - 2), down_.pop_back();
while (i2 <= i && !up_.empty())
ans += abs(up_.back().first - i2++) + abs(up_.back().second - 1), up_.pop_back();
}
cout << ans;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int test = 1;
// cin >> test;
while (test--)
solveTestCase();
}
컴파일 시 표준 에러 (stderr) 메시지
joi2019_ho_t4.cpp: In function 'long long int solveTestCase()':
joi2019_ho_t4.cpp:25:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while (p1 < up.size() && up[p1].first <= (i == n ? 1e9 : i))
~~~^~~~~~~~~~~
joi2019_ho_t4.cpp:27:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while (p2 < down.size() && down[p2].first <= (i == n ? 1e9 : i))
~~~^~~~~~~~~~~~~
joi2019_ho_t4.cpp:41:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |