結果
| 問題 |
No.894 二種類のバス
|
| コンテスト | |
| ユーザー |
QCFium
|
| 提出日時 | 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;
}
QCFium