이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
constexpr LL INF = 1LL * 1e18;
int N;
LL A, B;
LL T;
map <long long, int> mp;
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> N >> A >> B;
A = A / __gcd(A, B+1);
if (A > INF / B) T = INF;
else T = A * B;
for (int i = 1; i <= N; ++ i ) {
LL L, R;
cin >> L >> R;
if (R - L + 1 >= T) {
cout << T << '\n';
return 0;
}
L = L % T;
R = R % T;
if (L <= R) {
mp[L] ++;
mp[(R+1)] --;
}
else {
mp[L] ++;
mp[T] --;
mp[0] ++;
mp[(R+1)] --;
}
}
LL last = 0;
int contor = 0;
LL ans = 0;
for (auto it : mp) {
ans += (it.first - last) * (contor != 0);
contor += it.second;
last = it.first;
}
cout << ans << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |