Submission #636017

#TimeUsernameProblemLanguageResultExecution timeMemory
636017ljubaStrange Device (APIO19_strange_device)C++17
5 / 100
5097 ms524288 KiB
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    int n;
    ll a, b;
    cin >> n >> a >> b;

    vector<pair<ll, ll>> v(n);

    for(auto &z : v) cin >> z.first >> z.second;

    if(n == 1) {
        ll ima = v[0].second - v[0].first + 1;

        //a * b > ima
        if(a > (ima + b - 1) / b) {
            cout << ima << '\n';
        } else {
            cout << min(a * b, ima) << '\n';
        }

        return 0;
    }

    set<pair<int, int>> s;

    for(auto z : v) {
        for(int i = z.first; i <= z.second; ++i) {
            s.insert({i % a, i % b});
        }
    }

    cout << int(s.size()) << '\n';
}
#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...