結果
問題 | No.604 誕生日のお小遣い |
ユーザー |
![]() |
提出日時 | 2019-12-15 21:08:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 968 bytes |
コンパイル時間 | 840 ms |
コンパイル使用メモリ | 93,792 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-25 15:54:59 |
合計ジャッジ時間 | 1,795 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 WA * 7 |
ソースコード
#include<algorithm>#include<cmath>#include<cstdio>#include<functional>#include<iomanip>#include<iostream>#include<map>#include<queue>#include<set>#include<string>#include<utility>#include<vector>using namespace std;typedef long long ll;typedef unsigned long long ull;const ll mod = 1000000007;#define rep(i,n) for(int i=0;i<n;i++)#define repl(i,s,e) for(int i=s;i<e;i++)#define reple(i,s,e) for(int i=s;i<=e;i++)#define revrep(i,n) for(int i=n-1;i>=0;i--)#define all(x) (x).begin(),(x).end()bool cond(ull x, ull A, ull B, ull C){return x - (x / A) + B * (x / A) >= C;}int main(){ull A, B, C = 0;cin >> A >> B >> C;//10^18程度で64bitマシンで扱えるギリギリの桁数となるため、上限を大きくとりすぎないことull ub = C;ull lb = 0;while (ub - lb > 1){ull mid = (ub + lb) / 2;if(cond(mid, A, B, C)){ub = mid;}else{lb = mid;}}cout << ub << endl;return 0;}