Submission #236911

#TimeUsernameProblemLanguageResultExecution timeMemory
236911DS007Coin Collecting (JOI19_ho_t4)C++14
100 / 100
100 ms14308 KiB
#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(); }

Compilation message (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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...