結果
問題 | No.894 二種類のバス |
ユーザー |
![]() |
提出日時 | 2019-09-27 21:37:35 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 619 bytes |
コンパイル時間 | 1,742 ms |
コンパイル使用メモリ | 167,352 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 20:58:40 |
合計ジャッジ時間 | 2,173 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h>int ri() {int n;scanf("%d", &n);return n;}int64_t rll() {long long n;scanf("%lld", &n);return n;}int64_t gcd(int64_t a, int64_t b) {while (a && b) {if (a > b) a %= b;else b %= a;}return a + b;}int64_t calc(int64_t a, int64_t b) {if (a % b) return a / b + 1;else return a / b;}int main() {int64_t n = rll();uint64_t a = rll(), b = rll();uint64_t res = calc(n, a) + calc(n, b);uint64_t tmp = a / gcd(a, b);if (tmp * b / b == tmp && tmp * b <= 0x7FFFFFFFFFFFFFFFULL) res -= calc(n, tmp * b);else res--;std::cout << res << std::endl;return 0;}