結果
問題 | No.894 二種類のバス |
ユーザー | lumc_ |
提出日時 | 2019-09-27 21:48:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,201 bytes |
コンパイル時間 | 828 ms |
コンパイル使用メモリ | 102,300 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 22:48:57 |
合計ジャッジ時間 | 1,498 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
// includes {{{ #include<iostream> #include<iomanip> #include<algorithm> #include<vector> #include<stack> #include<queue> #include<map> #include<set> #include<tuple> #include<cmath> #include<random> #include<cassert> #include<bitset> #include<cstdlib> // #include<deque> // #include<multiset> // #include<cstring> // #include<bits/stdc++.h> // }}} using namespace std; using ll = long long; /// --- math {{{ /// ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a % b); } ll lcm(ll a, ll b) { return a / gcd(a, b) * b; } ll extgcd(ll a, ll b, ll &x, ll &y) { ll d; return b == 0 ? (x = a < 0 ? -1 : 1, y = 0, a < 0 ? -a : a) : (d = extgcd(b, a % b, y, x), y -= a / b * x, d); } ll modinv(ll a, ll mod) { ll x, y; extgcd(a, mod, x, y); if(x < 0) x += mod; return x; } ll modpow(ll a, ll b, ll mod) { ll r = 1; a %= mod; while(b) { if(b & 1) r = r * a % mod; a = a * a % mod; b >>= 1; } return r; } /// }}}--- /// int main() { std::ios::sync_with_stdio(false), std::cin.tie(0); ll n, a, b; cin >> n >> a >> b; ll g = gcd(a,b); ll l = ll(1e18) + 1; if(a/g <= ll(1e18)/b) l = a / g * b; cout << (n+a-1)/a + (n+b-1)/b - (n+l-1)/l << endl; return 0; }