結果

問題 No.3 ビットすごろく
ユーザー Knots
提出日時 2020-04-15 22:22:25
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 673 bytes
コンパイル時間 1,793 ms
コンパイル使用メモリ 172,044 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-10-01 19:05:39
合計ジャッジ時間 2,698 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 18 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

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

const int INF = 1e9;
const int MOD = 1e9+7;
const ll LINF = 1e18;

#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n) for(int i=0;i<(n);++i)
#define REPR(i,n) for(int i=n;i>=0;i--)
#define ALL(v) (v.begin(),v.end())
#define COUT(x) cout<<(x)<<'\n'


int main(){
    int n;
    cin >> n;
    int count = 1,t=1;
    set<int>set1;
    set1.insert(t);
    while(t!=n&&set1.size()==count){
        int num = __builtin_popcount(t);
        count++;
        if(t+num>n)t-=num;
        else t+=num;
        set1.insert(t);
    }
    if(set1.size()!=count)COUT(-1);
    else COUT(count);
    return 0;
}
0