結果

問題 No.262 面白くないビットすごろく
ユーザー IL_mstaIL_msta
提出日時 2015-08-01 00:06:09
言語 C++11
(gcc 11.4.0)
結果
TLE  
実行時間 -
コード長 959 bytes
コンパイル時間 741 ms
コンパイル使用メモリ 84,740 KB
実行使用メモリ 13,752 KB
最終ジャッジ日時 2024-07-18 00:09:11
合計ジャッジ時間 4,056 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
13,752 KB
testcase_01 TLE -
testcase_02 -- -
testcase_03 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#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