結果

問題 No.1869 Doubling?
ユーザー ぷら
提出日時 2021-11-23 15:00:16
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 539 bytes
コンパイル時間 2,086 ms
コンパイル使用メモリ 191,448 KB
最終ジャッジ日時 2025-01-26 00:41:22
ジャッジサーバーID
(参考情報)
judge3 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main() {
    long long N,X;
    cin >> N >> X;
    long long sum = 0,cnt = 0;
    while (X != 1) {
        cnt++;
        sum += X;
        if(X%2 == 0) {
            X /= 2;
        }
        else {
            X = (X+1)/2;
        }
    }
    if(cnt >= N) {
        long long ans = 0;
        sum = 1;
        for(int i = 0; i < N; i++) {
            ans += sum;
            sum *= 2;
        }
        cout << ans << endl;
    }
    else {
        cout << sum+(N-cnt) << endl;
    }
}
0