제출 #721510

#제출 시각아이디문제언어결과실행 시간메모리
721510GrandTiger1729이상한 기계 (APIO19_strange_device)C++17
0 / 100
375 ms16812 KiB
#include <bits/stdc++.h> using namespace std; const int INF = 1e18 + 10; int main(){ cin.tie(0)->sync_with_stdio(0); int n; cin >> n; long long A, B; cin >> A >> B; if ((__int128_t)1 * A * B / __gcd(A, B + 1) >= INF){ long long ans = 0; for (int i = 0; i < n; i++){ long long l, r; cin >> l >> r; ans += r - l + 1; } cout << ans << '\n'; return 0; } long long D = (__int128_t)1 * A * B / __gcd(A, B + 1); vector<pair<long long, long long>> res; for (int i = 0; i < n; i++){ long long l, r; cin >> l >> r; r++; if (r - l >= D){ cout << D << '\n'; return 0; } long long ll = D * (l / D + bool(l % D)), rr = D * (r / D); if (ll > rr){ res.emplace_back(l, r); }else{ res.emplace_back(l % D, D); res.emplace_back(0, r); } } long long ans = 0; for (int i = 0; i < res.size(); i++) ans += res[i].second - res[i].first; cout << ans << '\n'; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

strange_device.cpp:4:22: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
    4 | const int INF = 1e18 + 10;
      |                 ~~~~~^~~~
strange_device.cpp: In function 'int main()':
strange_device.cpp:36:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for (int i = 0; i < res.size(); i++)
      |                     ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...