- 教主的集合序列
- 2016-04-05 14:23:03 @
n,k=map(int,input().split())
if n==1:
if k==1:print(1)
else :print(-1)
if n==2:
if k<=3 :print(k)
else :print(-1)
if n==3:
a=int((k-1)/3+1)
b=int(k-1)%3
print(int(pow(2,a)-1+b))
if n>3:
l=1
r=int(k/n)+1
#print(r)
if(l==r):x=0
while(l<r):
mid=int((l+r)/2)
#print(mid)
x=3*mid+(n-3)*int(pow(2,mid)-1)
if x>=k:r=mid
else :l=mid+1
x=3*(l-1)+(n-3)*int(pow(2,(l-1))-1)
a=k-x
print(int(pow(2,l))-2+a)
谁会python 帮我看看 为什么 我一个样例都过不了?
1 条评论
-
Zealot2017 LV 8 @ 2017-08-27 10:31:14
我也是 一直出错
- 1