結果

問題 No.262 面白くないビットすごろく
ユーザー 夕叢霧香(ゆうむらきりか)夕叢霧香(ゆうむらきりか)
提出日時 2018-01-22 12:34:34
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 981 ms / 2,000 ms
コード長 4,493 bytes
コンパイル時間 560 ms
コンパイル使用メモリ 73,924 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-08-26 20:21:41
合計ジャッジ時間 3,514 ms
ジャッジサーバーID
(参考情報)
judge12 / judge14
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

diff #

#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
typedef long long lint;

lint
tbl[258]={
  1,
  3043866212,
  6304910373,
  9642632564,
  13027785740,
  16528261375,
  19866094009,
  23305273534,
  26851772374,
  30427698867,
  34179892637,
  37474898933,
  40939570400,
  44462028976,
  48061009294,
  51804505761,
  55324780533,
  59013445746,
  62731107733,
  66594902248,
  70213317069,
  73611431536,
  77182126886,
  80667255480,
  84337635812,
  87953309938,
  91556662143,
  95303593667,
  99080204117,
  103042167188,
  106520038461,
  110194551904,
  113932646967,
  117756428334,
  121611143237,
  125404818570,
  129354551818,
  133318905970,
  137462808125,
  140732668145,
  144194746393,
  147724195504,
  151331584274,
  155051645119,
  158596635939,
  162286550795,
  166003338830,
  169866379992,
  173576727178,
  177188326764,
  180935812837,
  184711441709,
  188617425859,
  192340450187,
  196219122517,
  200148332580,
  204206289209,
  207999147186,
  211606934845,
  215354169177,
  219130300531,
  223051245661,
  226765329947,
  230647419412,
  234578074839,
  238637796475,
  242543758169,
  246354023499,
  250293791186,
  254282368803,
  258381856246,
  262353169362,
  266499308735,
  270653190668,
  274954969328,
  278235349289,
  281699656520,
  285230291483,
  288843338529,
  292555622135,
  296108809336,
  299797478106,
  303513296426,
  307378730113,
  311084691351,
  314691888318,
  318438834135,
  322215373230,
  326137829796,
  329850743236,
  333733585567,
  337664009017,
  341723231862,
  345507238667,
  349113030840,
  352860264736,
  356636401290,
  360569937186,
  364277970856,
  368164629325,
  372090932249,
  376151464705,
  380058390875,
  383870119640,
  387803833108,
  391799556548,
  395892667666,
  399867029816,
  404011963610,
  408166458655,
  412459892513,
  415960418167,
  419642241648,
  423369329089,
  427219090689,
  431052903006,
  434863107905,
  438796401986,
  442769590824,
  446887863691,
  450613672574,
  454512303700,
  458440607830,
  462516131473,
  466505438580,
  470565134403,
  474703374234,
  478949396296,
  482947439062,
  486755371546,
  490705646259,
  494681424791,
  498791098622,
  502758835083,
  506906580542,
  511049944011,
  515389888649,
  519289749375,
  523399099799,
  527525826917,
  531830142929,
  535991669365,
  540290279141,
  544627454221,
  549136811513,
  552577704794,
  556033975615,
  559563840963,
  563154351847,
  566933008719,
  570404156594,
  574077826799,
  577815644715,
  581642857022,
  585412682639,
  589004843649,
  592776838356,
  596480632590,
  600373164701,
  604131558058,
  607996922408,
  611936152792,
  615953831172,
  619832855781,
  623425191203,
  627194398350,
  630905954546,
  634802011556,
  638556986940,
  642421663991,
  646369655949,
  650387040722,
  654340820929,
  658146134026,
  662085614135,
  666056469887,
  670191528127,
  674129434810,
  678244658509,
  682374196306,
  686688081834,
  690271265396,
  693934884550,
  697669335632,
  701476114233,
  705362572698,
  709141525004,
  713099812794,
  717028460170,
  721142705765,
  724885629032,
  728761045579,
  732693287993,
  736749758874,
  740777465961,
  744795165468,
  748933922639,
  753141880458,
  757242843585,
  761035892927,
  764984543942,
  768950249380,
  773102984407,
  777003979124,
  781115568136,
  785241482314,
  789546215920,
  793534166666,
  797612465334,
  801743227036,
  806016345293,
  810211805541,
  814480115181,
  818815284449,
  823291446296,
  827085965369,
  830720144582,
  834456466214,
  838244378913,
  842172566043,
  845924301194,
  849827622308,
  853747688137,
  857835953013,
  861660536604,
  865519592653,
  869447143816,
  873463619464,
  877522802074,
  881526923742,
  885658701687,
  889838183538,
  894045653774,
  897822674154,
  901760199509,
  905672137367,
  909772129132,
  913735370979,
  917808707287,
  921941106979,
  926210825894,
  930270736126,
  934327743215,
  938472256198,
  942709938290,
  946936098999,
  951165540848,
  955503787985,
  959946162612,
  964024768740,
  967834326487,
  971779514592,
  975763287764,
  979866439343,
  983836311144,
  987983393422,
  992137825273,
  996463258969,
};


int main(){
  lint n;
  cin>>n;
  lint init=0;
  while(init<258&&tbl[init]<=n){
    init++;
  }
  init--;
  lint cur=tbl[init];
  init*=2e8;
  for(lint i=init;;++i){
    if(cur>=n){
      cout<<(cur==n?i+1:-1)<<endl;
      return 0;
    }
    cur=cur+__builtin_popcountll(cur);
  }
}
0