結果
問題 | No.262 面白くないビットすごろく |
ユーザー | 夕叢霧香(ゆうむらきりか) |
提出日時 | 2018-01-22 12:34:34 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 991 ms / 2,000 ms |
コード長 | 4,493 bytes |
コンパイル時間 | 1,980 ms |
コンパイル使用メモリ | 74,540 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-07 15:50:38 |
合計ジャッジ時間 | 3,868 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 991 ms
5,376 KB |
testcase_02 | AC | 541 ms
5,376 KB |
testcase_03 | AC | 987 ms
5,376 KB |
ソースコード
#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); } }