제출 #1367207

#제출 시각아이디문제언어결과실행 시간메모리
1367207vjudge1이상한 기계 (APIO19_strange_device)C++20
0 / 100
0 ms356 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using lll = __int128_t;

ll n, a, b, ans;
lll x, md;
vector<pair<lll, lll>> v;

int main() {
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  cin >> n >> a >> b;
  x = a/__gcd(a, b+1);
  md = x * (lll)b / __gcd(x, (lll)b);
  cout << (ll) md;
  while (n--) {
    cin >> a >> b;
    if (b - a + 1 >= md) v.push_back({0, md-1});
    else {
      a %= md;
      b %= md;
      if (a < b) v.push_back({a, b});
      else v.push_back({b, md-1}), v.push_back({0, a});
    }
  }
  sort(v.begin(), v.end(), [](const pair<lll, lll> &l, const pair<lll, lll> &r) { return l.second < r.second; } );
  lll last = 0;
  for (auto [l, r]: v) {
    l = max(l, last+1);
    if (r >= l) ans += r-l+1;
    last = max(r, last);
  }
  cout << ans << '\n';
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…