Submission #1174779

#TimeUsernameProblemLanguageResultExecution timeMemory
1174779MuhammetStrange Device (APIO19_strange_device)C++17
65 / 100
307 ms17032 KiB
#include "bits/stdc++.h"

using namespace std;
 
#define ll long long
#define SZ(s) (int)s.size()
#define ff first
#define ss second

ll INF = LLONG_MAX;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);

    ll n, a, b;
    cin >> n >> a >> b;
    ll ans = 0, s = 0;
    vector <pair <ll, ll>> v;
    ll k = (a / __gcd(a, b+1LL));
    k *= min(b, INF/k);
    for(int i = 1; i <= n; i++) {
        ll l, r;
        cin >> l >> r;
        l %= k, r %= k;
        if(l <= r) {
            v.push_back({l, r});
        }
        else {
            v.push_back({l, k-1});
            v.push_back({0, r});
        }
    }

    sort(v.begin(), v.end());

    ll L = 0;
    for(auto [l, r] : v) {
        l = max(l, L);
        if(r >= L) {
            ans += (r - l + 1);
            L = r+1;
        }
    }

    cout << ans;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...