結果
問題 |
No.894 二種類のバス
|
ユーザー |
![]() |
提出日時 | 2019-09-27 21:58:04 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 612 bytes |
コンパイル時間 | 1,688 ms |
コンパイル使用メモリ | 166,100 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 10:50:19 |
合計ジャッジ時間 | 2,365 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 WA * 1 |
ソースコード
#include <bits/stdc++.h> #define rep(i,a,b) for (int (i)=(a);(i)<(b);++(i)) #define sz(x) (x).size() using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> P; const int INF = 1e9; const ll LINF = 1LL<<60; const ll MOD = 1e9+7; ll T,A,B; ll gcd_(ll A, ll B) { return (A%B == 0 ? B : gcd_(B,A%B)); }; ll lcm_(ll A, ll B) { return (A/gcd_(A,B))*B; }; int main() { cin>>T>>A>>B; ll ans = (T/A+1)+(T/B+1); if (T%A == 0) --ans; if (T%B == 0) --ans; ll lab = lcm_(A,B); ll K = T/lab; if (T%lab == 0) --K; ++K; ans -= K; cout << ans << '\n'; return 0; }