結果

問題 No.47 ポケットを叩くとビスケットが2倍
コンテスト
ユーザー makotonari
提出日時 2017-10-22 18:45:31
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 23 ms / 5,000 ms
コード長 559 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 257 ms
コンパイル使用メモリ 40,096 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-15 17:41:05
合計ジャッジ時間 1,497 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
#include <string.h>

int knock(int src_num, int max_num) {
    int i = 0;
    for (i = src_num; i > 0; i--) {
        if(i * 2 + (src_num - i) <= max_num) {
            return i + src_num;
        }
    }
    return -1;
}

int main(void) {
    int input_num = 0;
    scanf("%d", &input_num);

    int current_num = 1;
    int itr = 0;
    while(1) {
        if(current_num >= input_num) {
            printf("%d\n", itr);
            break;
        }
        current_num = knock(current_num, input_num);
        itr++;
    }
    return 0;
}
0