結果
| 問題 |
No.262 面白くないビットすごろく
|
| コンテスト | |
| ユーザー |
夕叢霧香(ゆうむらきりか)
|
| 提出日時 | 2018-01-22 12:34:34 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 1,078 ms / 2,000 ms |
| コード長 | 4,493 bytes |
| コンパイル時間 | 610 ms |
| コンパイル使用メモリ | 72,680 KB |
| 最終ジャッジ日時 | 2025-01-05 07:46:18 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 |
ソースコード
#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);
}
}
夕叢霧香(ゆうむらきりか)