# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
238380 | 2020-06-10T23:43:14 Z | luciocf | 이상한 기계 (APIO19_strange_device) | C++14 | 1050 ms | 92476 KB |
#include <bits/stdc++.h> #define ff first #define ss second using namespace std; typedef long long ll; typedef pair<int, int> pii; const int maxn = 3e6+10; const ll inf = 1e18; int n; ll A, B, p; vector<pii> event; void add_event(ll l, ll r) { if (p <= inf/B) l %= (p*B), r %= (p*B); event.push_back({l, 0}); event.push_back({r, 1}); } int main(void) { scanf("%d %lld %lld", &n, &A, &B); ll g = __gcd(A, B+1); p = A/g; for (int i = 1; i <= n; i++) { ll l, r; scanf("%lld %lld", &l, &r); if (l/B == r/B) add_event(l, r); else { add_event(l, (l/B + 1ll)*B - 1ll); if (l/B != r/B - 1ll) add_event((l/B + 1ll)*B, (r/B)*B - 1ll); add_event((r/B)*B, r); } } ll prev, ans = 0; int open = 0; sort(event.begin(), event.end()); for (auto E: event) { ll x = E.ff, type = E.ss; if (open == 0) prev = x; if (type == 0) open++; else open--; if (open == 0) ans += (x-prev+1ll); } printf("%lld\n", ans); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Correct | 12 ms | 1024 KB | Output is correct |
3 | Correct | 12 ms | 1152 KB | Output is correct |
4 | Correct | 4 ms | 256 KB | Output is correct |
5 | Correct | 5 ms | 384 KB | Output is correct |
6 | Incorrect | 4 ms | 256 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 4 ms | 256 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Incorrect | 4 ms | 384 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Incorrect | 6 ms | 512 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 717 ms | 53284 KB | Output is correct |
3 | Incorrect | 1050 ms | 92476 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 717 ms | 53284 KB | Output is correct |
3 | Incorrect | 1050 ms | 92476 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 717 ms | 53284 KB | Output is correct |
3 | Incorrect | 1050 ms | 92476 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 77 ms | 5732 KB | Output is correct |
3 | Incorrect | 69 ms | 5860 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Correct | 12 ms | 1024 KB | Output is correct |
3 | Correct | 12 ms | 1152 KB | Output is correct |
4 | Correct | 4 ms | 256 KB | Output is correct |
5 | Correct | 5 ms | 384 KB | Output is correct |
6 | Incorrect | 4 ms | 256 KB | Output isn't correct |
7 | Halted | 0 ms | 0 KB | - |