結果

問題 No.262 面白くないビットすごろく
コンテスト
ユーザー IL_msta
提出日時 2015-08-01 00:06:09
言語 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
結果
TLE  
実行時間 -
コード長 959 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 704 ms
コンパイル使用メモリ 108,728 KB
実行使用メモリ 116,568 KB
最終ジャッジ日時 2026-04-01 15:24:37
合計ジャッジ時間 4,342 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1 TLE * 1 -- * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#define _USE_MATH_DEFINES
 
#include <iostream>
#include <iomanip>
#include <sstream>
 
#include <algorithm>
#include <cmath>
 
#include <string>
//#include <array>
#include <list>
#include <queue>
#include <vector>
#include <complex>
#include <set>
#include <map>
 
/////////
#define REP(i, x, n) for(int i = x; i < n; i++)
#define rep(i,n) REP(i,0,n)
#define P(p) cout<<(p)<<endl;
 
#define PII pair<int,int>
/////////
typedef long long LL;
typedef long double LD;
/////////
using namespace::std;
/////////
int bitcount(LL num){
	int ans = 0;
	while(num){
		if(num%2 == 1)++ans;
		num /= 2;
	}
	return ans;
}
int main(void){
    std::cin.tie(0); 
    std::ios::sync_with_stdio(false);
    std::cout << std::fixed;//
    cout << setprecision(16);//
	
	LL N;
	cin>>N;
	LL pos =  1;
	LL ans = 1;
	LL add;
	while(pos < N){
		add = bitcount(pos);
		pos += add;
		++ans;
		if( add == 0 ){
			break;
		}
	}
	if(pos == N){
		P(ans);
	}else{
		P(-1);
	}
	return 0;
}
0