# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
317767 | 2020-10-30T10:54:52 Z | tjdgus4384 | Strange Device (APIO19_strange_device) | C++14 | 57 ms | 4076 KB |
#include<bits/stdc++.h> using namespace std; long long n, A, B, l[100001], r[100001]; vector<pair<long long, long long> > v; long long gcd(long long X, long long Y){ if(X%Y == 0) return Y; if(Y%X == 0) return X; if(X>Y) return gcd(X%Y, Y); if(Y>X) return gcd(Y, Y%X); } int main(){ scanf("%lld %lld %lld", &n, &A, &B); for(long long i = 0;i < n;i++){ scanf("%lld %lld", &l[i], &r[i]); } long long g = gcd(B+1, A); long long t = (A/g) * B; for(long long i = 0;i < n;i++){ if((r[i] - l[i] + 1) >= t){ printf("%lld", t); return 0; } l[i] %= t; r[i] %= t; if(r[i] < l[i]){ v.push_back({l[i], t-1}); v.push_back({0, r[i]}); } else v.push_back({l[i], r[i]}); } sort(v.begin(), v.end()); long long s = v[0].first, e = v[0].second, ans = 0; for(long long i = 1;i < v.size();i++){ if(v[i].first <= e) e = max(e, v[i].second); else{ ans += (e-s+1); s = v[i].first; e = v[i].second; } } ans += e-s+1; printf("%lld", ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Incorrect | 8 ms | 896 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 1 ms | 256 KB | Output is correct |
5 | Incorrect | 1 ms | 384 KB | Output isn't correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Incorrect | 1 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Execution timed out | 50 ms | 1912 KB | Time limit exceeded (wall clock) |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Execution timed out | 50 ms | 1912 KB | Time limit exceeded (wall clock) |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Execution timed out | 50 ms | 1912 KB | Time limit exceeded (wall clock) |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Incorrect | 57 ms | 4076 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Incorrect | 8 ms | 896 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |