138612025-01-09 00:02:0342Autókódoláspython3Elfogadva 50/5017ms3168 KiB
n=N=int(input())
p=-1
c=0
while n%2==0:
 n//=2
 c+=1
b=bin(n)[2:]
T=b.count('1')
n+=1
t=bin(n)[2:].count('1')
n*=2**c
x=1
for i in range(T-t):
 n+=x
 x*=2
if b+c*'0'!=T*'1':
 if N%2==0:
  c=0
  while N%2==0:
   N//=2
   c+=1
  N//=2
  N*=2
  N*=2
  N+=1
  N*=2**(c-1)
  p=N
 else:
  c=0
  while N%2==1:
   N//=2
   c+=1
  d=0
  while N%2==0:
   N//=2
   d+=1
  N//=2
  N*=2
  for j in range(c+1):
   N*=2
   N+=1
  for j in range(d-1):
   N*=2
  p=N
print(p)
print(n)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/016ms3124 KiB
2Elfogadva0/016ms3124 KiB
3Elfogadva2/216ms3124 KiB
4Elfogadva2/216ms3116 KiB
5Elfogadva2/216ms3008 KiB
6Elfogadva2/216ms3156 KiB
7Elfogadva2/214ms3152 KiB
8Elfogadva4/416ms3020 KiB
9Elfogadva4/416ms3136 KiB
10Elfogadva4/417ms3128 KiB
11Elfogadva4/417ms3124 KiB
12Elfogadva4/417ms3128 KiB
13Elfogadva4/416ms3092 KiB
14Elfogadva4/416ms3168 KiB
15Elfogadva4/416ms3100 KiB
16Elfogadva4/416ms2952 KiB
17Elfogadva4/416ms3048 KiB