Submission #934557

# Submission time Handle Problem Language Result Execution time Memory
934557 2024-02-27T15:00:48 Z Rifal Strange Device (APIO19_strange_device) C++14
65 / 100
566 ms 85312 KB
#include <bits/stdc++.h>
#include <fstream>
#define endl '\n'
#define mod 1000000007
#define INF 1000000000000000000
#define INF2 1000000000000000000
//#define ll long long
///#define cin fin
///#define cout fout
using namespace std;
double const EPS = 1e-14;
///ofstream fout("herding.out");
///ifstream fin("herding.in");

int main()
{
    ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
    long long n, a, b; cin >> n >> a >> b;
    pair<long long, long long> p[n];
    vector<pair<long long,int>> v;
    long long md;
    if(a > INF/b) md = (INF + 1)/__gcd(a,b+1);
    else md = (a*b)/__gcd(a,b+1);
   // cout << n << ' ' << a << ' ' << b <<  endl;
   // cout << md << endl;
    bool ok = false;
    for(int i = 0; i < n; i++) {
        cin >> p[i].first >> p[i].second;
        //cout << i << endl;
        pair<long long, long long> pp;
        pp = p[i];
        p[i].first %= md;
        p[i].second %= md;
        if(p[i].second < p[i].first) {
            if(pp.second-pp.first+1 >= md) {
                cout << md << endl;
                ok = true;
            }
            v.push_back({p[i].first,0});
            v.push_back({md-1,1});
            v.push_back({0,0});
            v.push_back({p[i].second,1});
        }
        else {
            v.push_back({p[i].first,0});
            v.push_back({p[i].second,1});
        }
    }
    if(ok) return 0;
    sort(v.begin(),v.end()); int cnt = 0;
    long long l = -1, r = 0; 
    long long ans = 0;
    for(int i = 0; i < v.size(); i++) {
        if(v[i].second == 0) {
            cnt++;
            if(l == -1) l = v[i].first;
        }
        else {
            cnt--;
            r = max(v[i].first,r);
        }
        if(cnt == 0) {
            ans += r-l+1;
            l = -1, r = 0;
        }
    }
    cout << ans << endl;
    return 0;
}

Compilation message

strange_device.cpp: In function 'int main()':
strange_device.cpp:53:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |     for(int i = 0; i < v.size(); i++) {
      |                    ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 4 ms 1504 KB Output is correct
3 Correct 4 ms 1504 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 4 ms 1500 KB Output is correct
17 Correct 51 ms 10000 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 460 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 285 ms 72404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 352 KB Output is correct
2 Correct 432 ms 83756 KB Output is correct
3 Correct 403 ms 83844 KB Output is correct
4 Correct 410 ms 83928 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 352 KB Output is correct
2 Correct 432 ms 83756 KB Output is correct
3 Correct 403 ms 83844 KB Output is correct
4 Correct 410 ms 83928 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 470 ms 84272 KB Output is correct
7 Correct 559 ms 83448 KB Output is correct
8 Correct 475 ms 83880 KB Output is correct
9 Correct 508 ms 84280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 352 KB Output is correct
2 Correct 432 ms 83756 KB Output is correct
3 Correct 403 ms 83844 KB Output is correct
4 Correct 410 ms 83928 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 47 ms 9256 KB Output is correct
7 Correct 46 ms 10452 KB Output is correct
8 Correct 44 ms 9956 KB Output is correct
9 Correct 39 ms 9592 KB Output is correct
10 Correct 53 ms 8756 KB Output is correct
11 Correct 39 ms 8912 KB Output is correct
12 Correct 39 ms 10176 KB Output is correct
13 Correct 48 ms 9320 KB Output is correct
14 Correct 54 ms 10436 KB Output is correct
15 Correct 44 ms 10184 KB Output is correct
16 Correct 60 ms 9932 KB Output is correct
17 Correct 39 ms 9744 KB Output is correct
18 Correct 416 ms 84316 KB Output is correct
19 Correct 377 ms 83360 KB Output is correct
20 Correct 500 ms 84528 KB Output is correct
21 Correct 45 ms 9420 KB Output is correct
22 Correct 34 ms 9412 KB Output is correct
23 Correct 109 ms 33608 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 44 ms 9528 KB Output is correct
3 Correct 61 ms 8904 KB Output is correct
4 Correct 566 ms 84248 KB Output is correct
5 Correct 48 ms 10180 KB Output is correct
6 Correct 47 ms 9548 KB Output is correct
7 Correct 42 ms 9428 KB Output is correct
8 Correct 43 ms 10280 KB Output is correct
9 Correct 40 ms 10444 KB Output is correct
10 Correct 43 ms 9160 KB Output is correct
11 Correct 43 ms 9420 KB Output is correct
12 Correct 47 ms 9816 KB Output is correct
13 Correct 46 ms 9848 KB Output is correct
14 Correct 471 ms 85312 KB Output is correct
15 Correct 46 ms 10704 KB Output is correct
16 Correct 381 ms 83124 KB Output is correct
17 Correct 409 ms 83624 KB Output is correct
18 Correct 0 ms 452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 4 ms 1504 KB Output is correct
3 Correct 4 ms 1504 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 4 ms 1500 KB Output is correct
17 Correct 51 ms 10000 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Incorrect 0 ms 348 KB Output isn't correct
21 Halted 0 ms 0 KB -