結果
問題 |
No.604 誕生日のお小遣い
|
ユーザー |
|
提出日時 | 2017-12-16 17:03:00 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 874 bytes |
コンパイル時間 | 467 ms |
コンパイル使用メモリ | 54,228 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-14 21:50:49 |
合計ジャッジ時間 | 1,330 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 WA * 9 |
ソースコード
#include <iostream> using namespace std; int main(void){ long long A,B,C; cin >> A >> B >> C; long long low = 1; long long high = 1000000000000000000; long long mid = 500000000000000000; if(A == 1) { while(low < high) { if(B * mid >= C) { high = mid; } else { low = mid + 1; } mid = (high + low) >> 1; } cout << low << endl; } else { long long tempB = (0x1111111100000000 & B); while(low < high) { long long block = mid / A; long long Anum = mid - block; if((tempB > 0 && (0x1111111100000 & block) > 0) || (Anum + block * B >= C)) { high = mid; } else { low = mid + 1; } mid = (high + low) >> 1; } cout << low << endl; } }