結果
問題 |
No.1286 Stone Skipping
|
ユーザー |
|
提出日時 | 2021-02-02 23:19:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 913 bytes |
コンパイル時間 | 1,516 ms |
コンパイル使用メモリ | 165,272 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-29 23:57:16 |
合計ジャッジ時間 | 2,397 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 WA * 10 |
ソースコード
#include<bits/stdc++.h> // #include<atcoder/all> using namespace std; // using namespace atcoder; using lint = long long; using graph = vector<vector<int>>; #define endl '\n' lint const mod = 1e9+7; //long const mod = 998244353; int main(){ lint d; cin >> d; lint ans = d; for(int rep=1;rep<63;rep++){ lint upper = d; lint lower = 1; while(upper > lower){ lint mid = (upper + lower)/ 2; lint tmp = mid; lint kyori = mid; for(int i=0;i<rep;i++){ tmp += (kyori/2); kyori/=2; if(kyori == 0)break; } if(tmp == d){ ans = min(ans,mid); break; } if(tmp > d){ upper = mid - 1; }else{ lower = mid + 1; } } } cout << ans << endl; }