Submit | All submissions | Best solutions | Back to list |
BITPLAY - PLAYING WITH BITS |
The problem is very simple.
You are given a even number N and an integer K and you have to find the greatest odd number M less than N such that the sum of digits in binary representation of M is at most K.
Input
For each test case, you are given an even number N and an integer K.
Output
For each test case, output the integer M if it exists, else print -1.
Constraints
1 ≤ T ≤ 104
2 ≤ N ≤ 109
0 ≤ K ≤ 30
Example
Input: 2 10 2 6 1 Output: 9 1
Explanation
First case when N = 10, K = 2
Binary representation of 10 is 1010 and binary representation of 9 is 1001, hence greatest odd number less than 10 whose sum of digits in its binary representation is at most 2 is 9. Hence output is 9.
Added by: | tapariaankit |
Date: | 2015-08-22 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 GOSU JS-MONKEY |
hide comments
|
||||||
2016-06-07 22:45:10
nice problem first TLE , then learnt using the bitset func to_ulong() , then AC in one go :-) |
||||||
2016-06-04 14:27:39 deadbrain
what will be the answer for the test case? 1 35 6 spoj toolkit says answer is 34 but isnt the answer supposed to be an odd number? |
||||||
2016-03-15 16:34:37
how to get rid of TLE in this problem ? |
||||||
2016-01-29 06:51:50
Cost me a TLE due to the -1 case... |
||||||
2016-01-19 18:20:03 rahul2907
AC in 1 go :) :D |
||||||
2015-10-23 06:43:06
time limit excedded...what to do??answers are correct acording to spoj toolkit... |
||||||
2015-09-15 16:44:15 Jaswanth
forgot to print -1 costed me 1 wa |
||||||
2015-09-12 15:32:37 bka
Got It!! Last edit: 2015-09-12 21:12:07 |
||||||
2015-09-12 14:59:53 Raghvendra pandey
nice problem........ AC :) |
||||||
2015-08-30 20:20:55 imeiam
Good question. Good logic. |