Submission #931877

# Submission time Handle Problem Language Result Execution time Memory
931877 2024-02-22T13:54:25 Z 12345678 Strange Device (APIO19_strange_device) C++17
10 / 100
543 ms 116160 KB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int nx=1e6+5;
ll n, a, b, l[nx], r[nx], sm, p, mx, res;
set<pair<ll, ll>> s;

void add_range(ll x, ll y)
{
    x=x%p;
    y=y%p;
    if (y<x) y+=p;
    s.insert({x, min(p-1, y)});
    if (y>=p) s.insert({0, y-p});
}

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>a>>b;
    p=a*b;
    for (int i=1; i<=n; i++) cin>>l[i]>>r[i], mx=max(mx, r[i]-l[i]+1), sm+=(r[i]-l[i]+1);
    if (a>LLONG_MAX/b) return cout<<sm, 0;
    if (mx>p) return cout<<p, 0;
    for (int i=1; i<=n; i++) add_range(l[i], r[i]);
    for (auto itr=s.begin(); itr!=s.end()&&next(itr)!=s.end();)
    {
        auto itr2=next(itr);
        pair<ll, ll> nw;
        if (itr2->first>itr->second) itr=itr2;
        else nw={itr->first, max(itr->second, itr2->second)}, s.erase(itr), s.erase(itr2), s.insert(nw), itr=s.find(nw);
    }
    for (auto [x, y]:s) res+=y-x+1;
    cout<<res;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 4 ms 3592 KB Output is correct
3 Correct 4 ms 3556 KB Output is correct
4 Incorrect 0 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2516 KB Output is correct
3 Correct 1 ms 2392 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2512 KB Output is correct
2 Correct 1 ms 2392 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 193 ms 41112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 441 ms 116068 KB Output is correct
3 Incorrect 459 ms 116160 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 441 ms 116068 KB Output is correct
3 Incorrect 459 ms 116160 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 441 ms 116068 KB Output is correct
3 Incorrect 459 ms 116160 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 45 ms 16756 KB Output is correct
3 Correct 42 ms 16616 KB Output is correct
4 Correct 520 ms 115748 KB Output is correct
5 Correct 54 ms 16744 KB Output is correct
6 Correct 43 ms 16724 KB Output is correct
7 Correct 40 ms 16736 KB Output is correct
8 Correct 46 ms 16720 KB Output is correct
9 Correct 42 ms 16756 KB Output is correct
10 Correct 40 ms 16880 KB Output is correct
11 Correct 45 ms 16724 KB Output is correct
12 Correct 40 ms 16724 KB Output is correct
13 Correct 42 ms 16720 KB Output is correct
14 Correct 543 ms 116076 KB Output is correct
15 Incorrect 42 ms 16728 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 4 ms 3592 KB Output is correct
3 Correct 4 ms 3556 KB Output is correct
4 Incorrect 0 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -