제출 #1095794

#제출 시각아이디문제언어결과실행 시간메모리
1095794LucaLucaM이상한 기계 (APIO19_strange_device)C++17
0 / 100
3 ms1492 KiB
#include <iostream> #include <vector> #include <algorithm> #include <cassert> using ll = long long; using i128 = __int128; int main() { freopen("input.txt", "r", stdin); int n; ll A, B; std::cin >> n >> A >> B; if ((i128) A * B / std::__gcd(A, B + 1) > 1e18) { ll answer = 0; for (int i = 0; i < n; i++) { ll l, r; std::cin >> l >> r; answer += r - l + 1; } std::cout << answer; return 0; } ll R = (i128) A * B / std::__gcd(A, B + 1); std::vector<std::pair<ll, int>> events; bool coverAll = false; for (int i = 0; i < n; i++) { ll l, r; std::cin >> l >> r; if (r - l + 1 >= R) { coverAll = true; } l %= R; r %= R; if (l <= r) { events.push_back({l, +1}); events.push_back({r + 1, -1}); } else { events.push_back({0, +1}); events.push_back({r + 1, -1}); events.push_back({l, +1}); events.push_back({R, -1}); } } if (coverAll) { std::cout << R; return 0; } events.push_back({R, 0}); std::sort(events.begin(), events.end()); i128 last = 0; int delta = 0; ll answer = 0; for (const auto &[pos, add] : events) { if (delta >= 1) { answer += pos - last; } delta += add; last = pos; } std::cout << answer; return 0; }

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:10:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |   freopen("input.txt", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...