This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define st first
#define nd second
using namespace std;
using ll = long long;
int n; ll a, b, v, m;
vector< pair< ll, ll > > ilo;
ll gcd(const ll a, const ll b)
{
return (b == 0? a : gcd(b, a % b));
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> a >> b;
v = gcd(a, b + 1);
__int128 q = a / v * b;
if (q >= (ll)(1e18) + 1) m = (ll)(1e18) + 1;
else m = q;
//cerr << "m: " << m << '\n';
for (int i = 0; i < n; ++i)
{
ll l, r; cin >> l >> r;
if (r - l + 1 >= m)
return cout << m << '\n', 0;
r %= m; l %= m;
if (l > r)
ilo.push_back({l, m - 1}), ilo.push_back({0, r});
else
ilo.push_back({l, r});
}
sort(begin(ilo), end(ilo));
//for (int i = 0; i < ilo.size(); ++i)
//cerr << ilo[i].st << ' ' << ilo[i].nd << '\n';
ll c = 0, p = -1;
for (int i = 0; i < ilo.size(); ++i)
{
//cerr << p << ' ' << ilo[i].st << ' ' << ilo[i].nd << ' ';
c += (max(0ll, ilo[i].nd - max(ilo[i].st - 1, p))), p = max(p, ilo[i].nd);
//cerr << c << '\n';
}
cout << c << '\n';
}
Compilation message (stderr)
strange_device.cpp: In function 'int main()':
strange_device.cpp:47:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < ilo.size(); ++i)
~~^~~~~~~~~~~~
# | 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... |