# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
124428 | 2019-07-03T10:27:47 Z | AyaBenSaad | 이상한 기계 (APIO19_strange_device) | C++14 | 625 ms | 32480 KB |
#include <bits/stdc++.h> #define ll long long // sub 4 using namespace std; const int M = 2e6 + 6; int n; ll a, b; stack <pair <ll, ll> > s; pair <ll, ll> t[M], rem[M]; bool inter (ll a, ll b) { ll x = s.top().first; ll y = s.top().second; return ((a <= y && a >= x) || (b <= y && b >= x)); } int main () { scanf ("%d %lld %lld", &n, &a, &b); for (int i = 0; i < n; i++) { scanf ("%lld %lld", &t[i].first, &t[i].second); } if (a < 3) {puts("1"); return 0;} sort (t, t+n); for (int i = 0; i < n; i++) { if (s.empty() || !inter(t[i].first, t[i].second)) { s.push ({t[i].first, t[i].second}); } else { long long x = min (t[i].first, s.top().first); long long y = max (t[i].second, s.top().second); s.pop(); s.push({x, y}); } } if (a%2 == 0) a/=2; int k = 0; while (s.size()) { if (((s.top().second - s.top().first + 1) / a) >= 1) {printf("%lld\n", a); return 0;} long long x = s.top().first%a, y = s.top().second%a; if (x <= y) {t[k] = {x, y}; k++;} else {t[k] = {x, a-1}; k++; t[k] = {0, y}; k++;} s.pop(); } sort (t, t+k); for (int i = 0; i < k; i++) { if (s.empty() || !inter(t[i].first, t[i].second)) { s.push ({t[i].first, t[i].second}); } else { long long x = min (t[i].first, s.top().first); long long y = max (t[i].second, s.top().second); s.pop(); s.push({x, y}); } } long long ans = 0; long long res = 0; while (s.size()) { ans += s.top().second-s.top().first+1; res += s.top().second-s.top().first+1; s.pop(); } printf("%lld\n", ans); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 8 ms | 604 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 3 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 618 ms | 32432 KB | Output is correct |
3 | Correct | 625 ms | 32476 KB | Output is correct |
4 | Correct | 616 ms | 32480 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 618 ms | 32432 KB | Output is correct |
3 | Correct | 625 ms | 32476 KB | Output is correct |
4 | Correct | 616 ms | 32480 KB | Output is correct |
5 | Correct | 2 ms | 376 KB | Output is correct |
6 | Incorrect | 621 ms | 32404 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 618 ms | 32432 KB | Output is correct |
3 | Correct | 625 ms | 32476 KB | Output is correct |
4 | Correct | 616 ms | 32480 KB | Output is correct |
5 | Correct | 2 ms | 424 KB | Output is correct |
6 | Incorrect | 61 ms | 3512 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 54 ms | 3504 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 8 ms | 604 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |