Submission #217013

# Submission time Handle Problem Language Result Execution time Memory
217013 2020-03-28T17:47:11 Z sevlll Strange Device (APIO19_strange_device) C++17
35 / 100
794 ms 49120 KB
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <cassert>
#include <complex>
#include <string>
#include <cstring>
#include <chrono>
#include <random>
#include <queue>
#include <bitset>

#define pb push_back
#define int long long
#define str string
using namespace std;
const int M = 1e9 + 7;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int n, a, b;
    cin >> n >> a >> b;
    vector<pair<int, int>> pr(n);
    for (int i = 0; i < n; i++) cin >> pr[i].first >> pr[i].second;
    int g = gcd(a, b + 1);
    a /= g;
    __int128_t num = a * b;
    vector<pair<int, int>> ev;
    for (auto p : pr) {
        int l = p.first, r = p.second;
        if (r - l >= num) {
            cout << (int) num;
            return 0;
        }
        l %= num;
        r %= num;
        if (r < l) {
            ev.pb({l, 1});
            ev.pb({num, -1});
            ev.pb({0, 1});
            ev.pb({r + 1, -1});
        } else {
            ev.pb({l, 1});
            ev.pb({r + 1, -1});
        }
    }
    sort(ev.begin(), ev.end());
    int bal = 0;
    int last = 0;
    int ans = 0;
    for (auto p : ev) {
        int x = p.first, type = p.second;
        if (bal) {
            ans += (x - last);
        }
        last = x;
        bal += type;
    }
    cout << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 13 ms 1152 KB Output is correct
3 Correct 11 ms 1152 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 5 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Correct 4 ms 384 KB Output is correct
10 Correct 5 ms 384 KB Output is correct
11 Correct 4 ms 384 KB Output is correct
12 Correct 4 ms 384 KB Output is correct
13 Correct 5 ms 384 KB Output is correct
14 Correct 4 ms 384 KB Output is correct
15 Correct 5 ms 512 KB Output is correct
16 Correct 11 ms 1152 KB Output is correct
17 Correct 78 ms 6124 KB Output is correct
18 Incorrect 4 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Incorrect 5 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 447 ms 48956 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 708 ms 49088 KB Output is correct
3 Correct 653 ms 49120 KB Output is correct
4 Correct 644 ms 49044 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 708 ms 49088 KB Output is correct
3 Correct 653 ms 49120 KB Output is correct
4 Correct 644 ms 49044 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 667 ms 48948 KB Output is correct
7 Correct 642 ms 48980 KB Output is correct
8 Correct 652 ms 48988 KB Output is correct
9 Correct 776 ms 48984 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 708 ms 49088 KB Output is correct
3 Correct 653 ms 49120 KB Output is correct
4 Correct 644 ms 49044 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 73 ms 6292 KB Output is correct
7 Correct 68 ms 6124 KB Output is correct
8 Correct 69 ms 6124 KB Output is correct
9 Correct 67 ms 6124 KB Output is correct
10 Correct 65 ms 6128 KB Output is correct
11 Correct 69 ms 6124 KB Output is correct
12 Correct 63 ms 6124 KB Output is correct
13 Correct 74 ms 6124 KB Output is correct
14 Correct 64 ms 6124 KB Output is correct
15 Correct 74 ms 6176 KB Output is correct
16 Correct 73 ms 6124 KB Output is correct
17 Correct 77 ms 6252 KB Output is correct
18 Correct 662 ms 48980 KB Output is correct
19 Correct 641 ms 49092 KB Output is correct
20 Correct 777 ms 48988 KB Output is correct
21 Correct 79 ms 6124 KB Output is correct
22 Correct 61 ms 6124 KB Output is correct
23 Correct 182 ms 22244 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 73 ms 6124 KB Output is correct
3 Correct 72 ms 6124 KB Output is correct
4 Correct 794 ms 49096 KB Output is correct
5 Correct 77 ms 6124 KB Output is correct
6 Correct 73 ms 6124 KB Output is correct
7 Correct 73 ms 6124 KB Output is correct
8 Correct 74 ms 6124 KB Output is correct
9 Correct 77 ms 6124 KB Output is correct
10 Correct 81 ms 6124 KB Output is correct
11 Correct 73 ms 6124 KB Output is correct
12 Correct 73 ms 6252 KB Output is correct
13 Correct 76 ms 6124 KB Output is correct
14 Correct 773 ms 48980 KB Output is correct
15 Correct 75 ms 6128 KB Output is correct
16 Correct 648 ms 48980 KB Output is correct
17 Correct 693 ms 48980 KB Output is correct
18 Incorrect 4 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 13 ms 1152 KB Output is correct
3 Correct 11 ms 1152 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 5 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Correct 4 ms 384 KB Output is correct
10 Correct 5 ms 384 KB Output is correct
11 Correct 4 ms 384 KB Output is correct
12 Correct 4 ms 384 KB Output is correct
13 Correct 5 ms 384 KB Output is correct
14 Correct 4 ms 384 KB Output is correct
15 Correct 5 ms 512 KB Output is correct
16 Correct 11 ms 1152 KB Output is correct
17 Correct 78 ms 6124 KB Output is correct
18 Incorrect 4 ms 384 KB Output isn't correct