結果
問題 |
No.642 Two Operations No.1
|
ユーザー |
![]() |
提出日時 | 2018-11-21 11:35:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 628 bytes |
コンパイル時間 | 439 ms |
コンパイル使用メモリ | 54,236 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-24 16:00:35 |
合計ジャッジ時間 | 1,005 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 11 |
ソースコード
#include <iostream> int NextPoworOfTwo(int val) { int mask = 0x80000000; if(val & mask) return 0; val <<= 1; while(!(val & mask)) { mask >>= 1; } return mask; } int BitCount(int val) { int count = 0; while(val) { count += val & 1; val >>= 1; } return count; } int main() { int ret; int n; std::cin >> n; int n2 = (BitCount(n) == 1)? n:NextPoworOfTwo(n); ret = n2 - n; while(n2 > 1) { n2 /= 2; ret++; } std::cout << ret << std::endl; return 0; }