Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- from collections import deque
- def mindef(josh,lent,f):
- defence=0
- pos=0
- lent=len(bc)
- if josh%2==0:
- pos=lent-1
- else:
- defence+=a[josh-1]
- pos=lent-1
- if lent&(lent-1)==0:
- return defence
- mult=1
- while lent>1:
- if lent%2==0:
- if lent and (not(lent&(lent-1))):
- return defence
- if lent%2==0:
- pos-=mult
- lent=lent//2
- else:
- defence+=bc[pos]
- lent=lent//2+1
- mult*=2
- return defence
- t=int(input())
- for qwe in range(t):
- n=int(input())
- n=n-1
- a=list(map(int,input().split(" ")))
- bc=deque(a)
- f=int(input())
- pos_=-1
- deff=10**9+7
- for i in range(0,n):
- if i==0:
- None
- elif i%2==1:
- x=bc.popleft()
- bc.append(x)
- else:
- bc.popleft()
- if bc[0]<=f:
- if i%2==0:
- number=n-i//2
- if number and (not(number&(number-1))):
- deff=0
- pos_=i
- break
- mina=mindef(i,n,f)
- if mina<deff:
- deff=mina
- pos_=i
- if deff==0:
- break
- if deff==10**9+7:
- print("impossible")
- else:
- print("possible")
- print(pos_+1,deff+f)
Add Comment
Please, Sign In to add comment