Submission #683679

# Submission time Handle Problem Language Result Execution time Memory
683679 2023-01-19T05:25:25 Z Nursik Strange Device (APIO19_strange_device) C++17
65 / 100
463 ms 32116 KB
#include <stdio.h>
 
#include <algorithm>
#include <bitset>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>

using namespace std;
 
#define ll long long
#define pb push_back
#define mp make_pair
#define f first
#define s second
#define ld long double
#define bug cout << "bug\n";

const ll maxn = 1e6 + 5, maxm = 2e2 + 1;
const ll mod = 1e9 + 7, inf = 1e9, block = 550, hb = 126067, base = 1000050017,
         biginf = 5e18;
const ld eps = 1e-15;
using namespace std;

int n;
ll a, b, p;
ll l[maxn], r[maxn];
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    cin >> n >> a >> b;
    a = a / gcd(a, b + 1);
    if (a > 1e18 / b){
        p = 1e18;
    }
    else{
        p = a * b;
    }
    vector<pair<ll, ll>> v;
    for (int i = 1; i <= n; ++i){
        cin >> l[i] >> r[i];
        ll x = l[i] % p;
        ll y = r[i] % p;
        if (x <= y){
            v.pb(mp(x, y));
        }
        else{
            v.pb(mp(x, p - 1));
            v.pb(mp(0, y));
        }
    }
    sort(v.begin(), v.end());
    ll ans = 0, nxt = -1;
    for (auto it : v){
        ll lf = it.f, rg = it.s;
        if (nxt < lf){
            ans += rg - lf + 1;
            nxt = rg;
        }
        else if (nxt <= rg){
            ans += rg - nxt;
            nxt = rg;
        }
    }
    cout << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 4 ms 852 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 2 ms 212 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 340 KB Output is correct
16 Correct 5 ms 852 KB Output is correct
17 Correct 47 ms 3560 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 284 ms 31648 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 392 ms 31744 KB Output is correct
3 Correct 371 ms 31752 KB Output is correct
4 Correct 370 ms 31740 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 392 ms 31744 KB Output is correct
3 Correct 371 ms 31752 KB Output is correct
4 Correct 370 ms 31740 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 378 ms 31752 KB Output is correct
7 Correct 435 ms 31748 KB Output is correct
8 Correct 371 ms 31652 KB Output is correct
9 Correct 438 ms 31664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 392 ms 31744 KB Output is correct
3 Correct 371 ms 31752 KB Output is correct
4 Correct 370 ms 31740 KB Output is correct
5 Correct 0 ms 340 KB Output is correct
6 Correct 37 ms 3556 KB Output is correct
7 Correct 40 ms 3592 KB Output is correct
8 Correct 37 ms 3536 KB Output is correct
9 Correct 37 ms 3528 KB Output is correct
10 Correct 40 ms 3536 KB Output is correct
11 Correct 40 ms 3544 KB Output is correct
12 Correct 38 ms 3552 KB Output is correct
13 Correct 40 ms 3556 KB Output is correct
14 Correct 37 ms 3504 KB Output is correct
15 Correct 44 ms 3568 KB Output is correct
16 Correct 43 ms 3500 KB Output is correct
17 Correct 38 ms 3548 KB Output is correct
18 Correct 428 ms 31704 KB Output is correct
19 Correct 385 ms 31804 KB Output is correct
20 Correct 428 ms 31912 KB Output is correct
21 Correct 41 ms 3784 KB Output is correct
22 Correct 35 ms 3852 KB Output is correct
23 Correct 123 ms 13112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 44 ms 4092 KB Output is correct
3 Correct 41 ms 4004 KB Output is correct
4 Correct 455 ms 32116 KB Output is correct
5 Correct 46 ms 3848 KB Output is correct
6 Correct 41 ms 3756 KB Output is correct
7 Correct 42 ms 3784 KB Output is correct
8 Correct 42 ms 3784 KB Output is correct
9 Correct 55 ms 3796 KB Output is correct
10 Correct 44 ms 3784 KB Output is correct
11 Correct 43 ms 3764 KB Output is correct
12 Correct 37 ms 3784 KB Output is correct
13 Correct 46 ms 3796 KB Output is correct
14 Correct 463 ms 31932 KB Output is correct
15 Correct 44 ms 3732 KB Output is correct
16 Correct 430 ms 31896 KB Output is correct
17 Correct 433 ms 31844 KB Output is correct
18 Correct 1 ms 268 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 4 ms 852 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 2 ms 212 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 340 KB Output is correct
16 Correct 5 ms 852 KB Output is correct
17 Correct 47 ms 3560 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 0 ms 212 KB Output is correct
20 Incorrect 0 ms 212 KB Output isn't correct
21 Halted 0 ms 0 KB -