結果

問題 No.262 面白くないビットすごろく
ユーザー LayCurseLayCurse
提出日時 2015-05-25 14:48:52
言語 C++11
(gcc 11.4.0)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 5,320 bytes
コンパイル時間 1,244 ms
コンパイル使用メモリ 145,120 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-20 13:01:22
合計ジャッジ時間 2,360 ms
ジャッジサーバーID
(参考情報)
judge15 / judge12
このコードへのチャレンジ(β)

テストケース

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

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

#define mygc(c) (c)=getchar_unlocked()
#define mypc(c) putchar_unlocked(c)

#define ll long long
#define ull unsigned ll

void reader(ll *x){int k,m=0;*x=0;for(;;){mygc(k);if(k=='-'){m=1;break;}if('0'<=k&&k<='9'){*x=k-'0';break;}}for(;;){mygc(k);if(k<'0'||k>'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);}
void writer(ll x, char c){int s=0,m=0;char f[20];if(x<0)m=1,x=-x;while(x)f[s++]=x%10,x/=10;if(!s)f[s++]=0;if(m)mypc('-');while(s--)mypc(f[s]+'0');mypc(c);}
template<class T> void writerLn(T x){writer(x,'\n');}

template<class T> int extend(const char arr[], T res[]){int i,j,s=1,z=0;static int c[128],f=0;if(f==0)REP(i,33,127)if(i!=34&&i!=92)c[i]=f++;if(arr[0]<' ')return 0;res[0]=0;for(i=0;;i++){if(arr[i]<' ')break;if(c[arr[i]]<46)res[z]=res[z]*46+c[arr[i]];else{res[z]=res[z]*46+c[arr[i]]-46;if(s==-1)res[z]*=-1,s=1;res[++z]=0;}}return z;}

const char *buf = "Q?-=.f#0I,3Q$!=0Dv$CJB-_%6*MEQ&*(?)R&M0<6y'@71Iq(4!A#u)(/HCg)KJ@*n*@19?d+6B#+_,.0,B_,O+FHS-C1B%T.7.)7R/,=$Cz/O=?Mt0EG!!{1>(/)~22.E9a3(/&*W3M;,;c4D>;I[5<MM%q65B;+z7+7JFf7L<)1~8@B3:d97$.)m:*M0@h:NMN,W;F.O6g<;E#@^=1KO)b>(**-k>MA4Bw?E*/Ib@>&1*bA6?DNpB+5D.xBOAN;SCGG8=XD>3E$lE6>L#~F056%cG'J,=|GMN*HeHG081qI@A1=lJ;$26VK6@B:kL+/2;uLM!F@UMA.-CeN6@25{O+162{OO<A7f#!G9DLS##<3<6Y#$2)2KS#%)(3.{#%N0$&v#&F>)'w#'?,F,q#(6H>Mp#),$*#y#*!;AEb#*H5&6s#+?-+2P#,7B3D|#-2-O(V#.(:4=}#.O!BLg#/HN>#p#0AM(7q#1<<N=j#28K=C~#3-;('{#4#9B6c#4HCJ9m#5?F0LS#68)J-w#70E:Dr#8))#'i#8O(;Fc#9GHOJd#:A<O,x#;;8H6c#<68D%W#=0720s#>(&BJl#>NK=DZ#?H<60s#@B/)&w#A=2AE]#B84J+Q#C2/2Cf#D-/F3R#E)*;-c#F%E3Oa#G!O8(q#GGC/;X#H;(-If#I//69z#J%)(<y#JG5F+^#K==#;~#L5&(Jw#M*.72X#MN5.F|#NDK4Cz#O<2(Nu$!4%>$i$#,IC0R$$$NO&n$$H&OBb$%>3<(o$&6F'!f$'-$+Ob$(%:@HU$(M8*({$)D7.8~$*<?*&[$+6.7=U$,/C&@e$-)L=<}$.%JF3i$.I@(Da$/?@K?P$061H:R$1-@?Jw$2%?M#Z$2L29DP$3E*.6e$4<B/*n$55@I1g$6/.(Ne$7(H.7~$8$#1Dg$8L1<GX$9CB68u$:<6.<e$;637@P$</CB2z$=*@<DQ$>&(57w$>M?#!^$?HEE+Q$@D>6,_$A@@OOt$B=NKLY$C77*7}$D,L)4k$E#7OHz$EI)4!V$F@(#Gg$G8?K@p$H2K2-Y$I)38+P$IOH&4l$JJ$;$v$KBI75|$L=80&[$M:'L)z$N083Ji$O(K%,]%!!F93z%!II>=m%#D2F+l%$@>F(j%%9AF@k%&417DX%'0G63d%(+F#&d%)(GIJc%*&%.,P%*JO-+u%+C8FM`%,=LD;z%-6?E*f%.14(Iz%/->;.X%0&=,2T%0O4CMr%1K@O)Z%2G,++k%3D><6i%4@O>(`%5:J,Gg%65K2L[%71EN3`%8..2@l%9+9-G^%:(%'KS%;$B%){%<!A,A~%<N4;;U%=M8//i%>L%,@h%?>+LI{%@2&KCu%A',L@Q%AIOI4t%B?M>:r%C63&Hz%D-)9=e%E!-E.]%EF6-;i%F>I#Jv%G5'J*`%H-:FOo%I'5ODQ%IJ@)$g%J@8>:_%K73'H_%L.=F/s%M&F!5`%MM5?*S%NF,.-y%O=H*B}&!6>@/u&#0/61p&$)O*8{&%%%@0S&%L54Cu&&A;#IP&'7K0+t&(0(;?a&)&=*=Z&)M!(<]&*G)B2R&+=M&<l&,6*DGZ&-/K<@q&.).5F]&/#:+1X&/M<M3o&0E+6G{&1=-+2[&26D),h&30'+'`&4*7G1{&5&+(4x&5N(<O~&6H1,/^&7D0;5w&8?CCIq&9<9;)^&:;#35g&;/$.D]&<%).&w&<J:M$]&=A<KIU&>9I:EV&?2IB2v&@*KK*X&A#05A}&AIJ.>r&BC5KJR&C=F';R&D8B!>d&E2%2AR&F*(E6W&G!F@@l&GJ<D=b&HD87Ol&I?8>J]&J:0=.n&K4::*w&L/97Df&M+.%6S&N'M)%q&O%:#NQ&OL64;f'!DC&8y'#=AD._'$7)+9U'%1?!(`'&,HF9R'''#&Bz''O7*Mr'(JL3CS')F;(+o'*C&5Ny'+A6%Hn',:MD)_'-5:/Is'.1H6;q'/,MGId'0)IL2{'1($BJc'2#='3w'2O!A.R'3M!L=e'4KDODR'5K473h'6C:7-p'79B<Nh'8/N-@Y'9'7;/b'9LNBEP':EK$.Q';>O66a'<6,3%f'=.F#NW'>(K6Ao'?!$6:n'?JIJ4v'@F-/0^'A=+LMg'B5CFD~'C0'A=Q'D(K$,g'E#@0Eh'EMH2!n'FFH7Fl'GA?LLk'H=KA0m'I97C(m'J6IG7a'K21<KX'L)G80]'M!AKKi'MJ56LQ'NCKM2u'O?$:%}(!:+:?`(#3I5Ib($.O78S(%*HGHu(&'$FKh('$1A'm('MGJ:m((H4F6u()C3&5z(*?&&*o(+;B.5{(,9?3#|(-5>,M[(.25&!c(/1-G7{(0.5<Ie(1-MKFW(2+!J![(3!7-'Y(3I/@O`(4C&EI](5<:(If(67=H=i(72I63i(8,72$a(9'?(:P(:#5C7|(:M>!H~(;JL0+s(<F794p(=A&,<z(>;O+;c(?7B60}(@40-E[(A2*'4t(B.-2Do(C*MB@a(D)BGJ_(E&M46_(F&6H,y(G$67JY(GL-=*X(HG/--~(IC.7-c(J?<?5r(K<H&8j(L98#;e(M6%E6](N3O-){(O1FD<q)!0H4,^)#0K;CQ)$,5*Ab)%)H5;S)&'GEHk)'&:<'f)(&)?Ep))$I-<h)*#@L'P)+$><OZ),$0$:s)-&%MKf)-ND)-{).A>L*~)/5DCK[)0+H3@m)0MNHCi)1CO!Ma)2;,((b)30CJMW)4&D4.^)4K)EN~)5B@G-p)6:%N&f)72H')})8+C3*j)8N53C{)9D?H8d):<>!&Z);31:4S)<+9;<b)=%)(>P)=JB)+f)>BH:,n)?<*DCc)@57@$[)A/J.I|)B+4'*P)C!$)A})CF0$Jb)D<:1Ky)E4#9)_)F+;@%})G$:4)])GK9/<v)HBE:Ns)I;2:6V)J56=Kc)K.A%M^)L)7?>W)M$ENGR)MIFEOw)NB1-Eo)O<?;B}*!596A~*#0.OLe*$,2A9[*%%6N3P*%N-B;e*&J89;Y*'F&3+V*(C7/Ju*)>#%7r**3*@)z*+);7E~*+OD?%^*,F,E8m*->A7Bb*.8L#7S*//?$8Q*0'IN#l*0O@K/W*1HL@Jb*2C.)']*3?2*+P*46H%?u*5.L?'p*6(8E9t*6OJ$:h*7J)<-m*8EO$Eq*9?HCLp*::$IKS*;6'E5p*<1792W*=..A8d*>,@/Aq*?#'0;|*?I:C/p*@CC#$w*A<;%1Q*B7*5(|*C3C;Na*D,8%OQ*E'%48~*F#E&,|*FLB7;s*GIF@'}*HG&$)Z*I@:.;X*J;>9![*K78?H]*L3;9Nt*M0G3>i*N-D!GQ*O*5@Ng+!'N'Mt+#%M*Ji+$$DO4w+%%2=%^+%G3B&^+&=9'>f+'4JHOu+(+L@M|+)$+&Ak+)K+G5]+*C-;.k++;@<Hx+,4,$)U+--EA&^+.((7ET+/#$'Dy+/J5*,Z+0B87Hr+1;(<.~+24LKHg+3.H<2o+4)H=Ed+5$@49U+5LJBCw+6GI7Me+7C>!8v+8@.OD[+9=J('^+:6E5,y+;/$'&t+<(!L5p+<O87:p+=IN'-V+>E*.;}+??2,<}+@9F,Nc+A5-<>d+B0J8-j+C-5B>P+D+EH-W+E%.@/g+EMIFKv+FJ)HLn+GE.MNw+HB+.Ak+I@3L!o+J;L88p+K91DLo+L722'j+M6&FI^+N5D--S+O/6/5],!'C(FS,!N?1%U,#H&?-a,$B>H5t,%=D*(s,&7OK6w,'26JMd,(-J<7c,))7-L{,*&#CJq,+$/=@Z,+KKL-},,F6'7V,-BD!7`,.=KD#S,/:E'Ds,09#1=i,149E:T,21JABg,3/K>*X,4.=+&o,5.+K/e,6)?8=s,7$#FOv,7M=I*|,8I2()Y,9EHJ=U,:D2N$l,;?@N)U,<<;G3r,=;%<B~,>8L;5v,?88:>Z";
ull arr[570];

int memo[70000];
int bitcount(ull a){
  return memo[(a>>32)] + memo[(a>>16)%65535U] + memo[a%65535U];
}

int main(){
  int j, k;
  ll i, x, N;

  extend(buf, arr);
  REP(i,1,1<<16) memo[i] = memo[i&(i-1)]+1;

  reader(&N);
  for(i=0;;i++) if(arr[i+1] > N) break;
  x = arr[i];
  i *= 10000000;
  i++;
  while(x < N){
    i++;
    x += bitcount(x);
  }
  if(x!=N) i = -1;
  writerLn(i);
  return 0;
}
0