Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
#define Time cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl;
#define pb push_back
#define mp make_pair
#define line cout << endl;
#define ff first
#define ss second
#define vi vector<int>
#define no cout << "NO" << endl;
#define yes cout << "YES" << endl;
#define printv(v) \
for (int i = 0; i < (v.size()); i++) \
{ \
cout << v[i] << " "; \
} \
line;
#define onesbits(x) __builtin_popcountll(x)
#define zerobits(x) __builtin_ctzll(x)
#define sp(x, y) fixed << setprecision(y) << x
#define w(x) \
int x; \
cin >> x; \
while (x--)
#define tk(x) \
int x; \
cin >> x;
#define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#ifndef ONLINE_JUDGE
#define debug(x) \
cerr << #x << " "; \
_print(x); \
cerr << endl;
#else
#define debug(x)
#endif
template <class T>
void _print(T t)
{
cerr << t;
}
template <class T, class V>
void _print(pair<T, V> p)
{
cerr << "{";
_print(p.ff);
cerr << ",";
_print(p.ss);
cerr << "}";
}
template <class T>
void _print(vector<T> v)
{
cerr << "[ ";
for (T i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
template <class T>
void _print(vector<vector<T>> v)
{
cerr << "[\n";
for (int l = 0; l < v.size(); l++)
{
{
for (int k = 0; k < v[l].size(); k++)
cerr << v[l][k] << " ";
}
cerr << "\n";
}
cerr << "]";
}
template <class T, class V>
void _print(map<T, V> v)
{
cerr << "[ ";
for (auto i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
template <class T>
void _print(set<T> v)
{
cerr << "[ ";
for (T i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
const long long inf = 1e18;
const int MOD = 1e9 + 7;
const int MAX = 1e6;
bool isValid(string s)
{
int len = s.size();
for (int i = 0; i < len / 2; i++)
{
if (s[i] != s[len - 1 - i])
return false;
}
return true;
}
bool isPalindrome(string S, int start, int end){
int i=start;
int j=end;
while(i<j){
if(S[i] != S[j])
return false;
i++;
j--;
}
return true;
}
void rotateMatrix(vector<vector<int>> &v, int n)
{
for (int i = 0; i < n / 2; i++)
{
for (int j = i; j < n - i - 1; j++)
{
int ptr = v[i][j];
v[i][j] = v[n - 1 - j][i];
v[n - 1 - j][i] = v[n - 1 - i][n - 1 - j];
v[n - 1 - i][n - 1 - j] = v[j][n - 1 - i];
v[j][n - 1 - i] = ptr;
}
}
}
vector<bool> is_prime(10001, 1);
vector<int> primes;
void seive() {
is_prime[0] = 0;
is_prime[1] = 0;
for (int i = 2; i < 10001; i++) {
if (is_prime[i]) {
primes.push_back(i);
for (int j = i + i; j < 10001; j += i) {
is_prime[j] = 0;
}
}
}
}
string makePalindrome(string S){
int i=0;
int j=S.length()-1;
while(i<j){
if(S[i] == S[j]){
i++;
j--;
}else{
if(isPalindrome(S, i+1, j))
return "YES";
if(isPalindrome(S, i, j-1))
return "YES";
return "NO";
}
}
return "YES";
}
int32_t main() {
int t;
cin>>t;
while(t--){
ll n,k;cin>>n>>k;
if(n==k){
cout<<n<<" ";
continue;
}
if(n==0|| k==0){
cout<<-1<<endl;
continue;
}
ll a=min(n,k);
ll b=max(n,k);
ll ans=0;
while(a<=b){
a*=2;
ans++;
}
a=a/2;
ans--;
if(a==b){
ans+=b;
cout<<ans<<endl;
}else {
ans+=b+1;
cout<<ans<<endl;
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
#define Time cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl;
#define pb push_back
#define mp make_pair
#define line cout << endl;
#define ff first
#define ss second
#define vi vector<int>
#define no cout << "NO" << endl;
#define yes cout << "YES" << endl;
#define printv(v) \
for (int i = 0; i < (v.size()); i++) \
{ \
cout << v[i] << " "; \
} \
line;
#define onesbits(x) __builtin_popcountll(x)
#define zerobits(x) __builtin_ctzll(x)
#define sp(x, y) fixed << setprecision(y) << x
#define w(x) \
int x; \
cin >> x; \
while (x--)
#define tk(x) \
int x; \
cin >> x;
#define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#ifndef ONLINE_JUDGE
#define debug(x) \
cerr << #x << " "; \
_print(x); \
cerr << endl;
#else
#define debug(x)
#endif
template <class T>
void _print(T t)
{
cerr << t;
}
template <class T, class V>
void _print(pair<T, V> p)
{
cerr << "{";
_print(p.ff);
cerr << ",";
_print(p.ss);
cerr << "}";
}
template <class T>
void _print(vector<T> v)
{
cerr << "[ ";
for (T i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
template <class T>
void _print(vector<vector<T>> v)
{
cerr << "[\n";
for (int l = 0; l < v.size(); l++)
{
{
for (int k = 0; k < v[l].size(); k++)
cerr << v[l][k] << " ";
}
cerr << "\n";
}
cerr << "]";
}
template <class T, class V>
void _print(map<T, V> v)
{
cerr << "[ ";
for (auto i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
template <class T>
void _print(set<T> v)
{
cerr << "[ ";
for (T i : v)
{
_print(i);
cerr << " ";
}
cerr << "]";
}
const long long inf = 1e18;
const int MOD = 1e9 + 7;
const int MAX = 1e6;
bool isValid(string s)
{
int len = s.size();
for (int i = 0; i < len / 2; i++)
{
if (s[i] != s[len - 1 - i])
return false;
}
return true;
}
bool isPalindrome(string S, int start, int end){
int i=start;
int j=end;
while(i<j){
if(S[i] != S[j])
return false;
i++;
j--;
}
return true;
}
void rotateMatrix(vector<vector<int>> &v, int n)
{
for (int i = 0; i < n / 2; i++)
{
for (int j = i; j < n - i - 1; j++)
{
int ptr = v[i][j];
v[i][j] = v[n - 1 - j][i];
v[n - 1 - j][i] = v[n - 1 - i][n - 1 - j];
v[n - 1 - i][n - 1 - j] = v[j][n - 1 - i];
v[j][n - 1 - i] = ptr;
}
}
}
vector<bool> is_prime(10001, 1);
vector<int> primes;
void seive() {
is_prime[0] = 0;
is_prime[1] = 0;
for (int i = 2; i < 10001; i++) {
if (is_prime[i]) {
primes.push_back(i);
for (int j = i + i; j < 10001; j += i) {
is_prime[j] = 0;
}
}
}
}
string makePalindrome(string S){
int i=0;
int j=S.length()-1;
while(i<j){
if(S[i] == S[j]){
i++;
j--;
}else{
if(isPalindrome(S, i+1, j))
return "YES";
if(isPalindrome(S, i, j-1))
return "YES";
return "NO";
}
}
return "YES";
}
int32_t main() {
int t;
cin>>t;
while(t--){
ll n,k;cin>>n>>k;
if(n==k){
cout<<n<<" ";
continue;
}
if(n==0|| k==0){
cout<<-1<<endl;
continue;
}
ll a=min(n,k);
ll b=max(n,k);
ll ans=0;
while(a<=b){
a*=2;
ans++;
}
a=a/2;
ans--;
if(a==b){
ans+=b;
cout<<ans<<endl;
}else {
ans+=b+1;
cout<<ans<<endl;
}
}
return 0;
}
from math import log2, ceil
def soln(x, y):
if x == 0 and y == 0:
return 0
if x == 0 or y == 0:
return -1
if x == y:
return x
elif x > y:
return ceil(log2(x/y)) + x
else:
return ceil(log2(y/x)) + y
return -1
for _ in range(int(input())):
x, y = map(int, input().split())
print(int(soln(x, y)))
#include <stdio.h>
int main(void) {
// your code goes here
int t; long int x,y,l,i;
scanf("%d",&t);
for( ;t>0;t--)
{ scanf("%ld %ld",&x,&y);
if(x>y)
{
i=x;
x=y;
y=i;
}
if(x==y)
printf("%ld\n",x);
else if(x==0)
printf("-1\n");
else
{ i=0;
while(2*x<y)
{ x*=2;
i++;
}
l=y-x;
for( ;x!=l;x--,y--,i++);
printf("%ld\n",i+y+1);
}
}
return 0;
}
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class io{
BufferedReader bin;
StringTokenizer st=new StringTokenizer("");
public io(){
bin=new BufferedReader(new InputStreamReader(System.in));
return;
}
public String next(){
while(!st.hasMoreTokens()){
try{
st=new StringTokenizer(bin.readLine());
}
catch(Exception e){
e.printStackTrace();
}
}
return st.nextToken();
}
public int nextInt(){
return Integer.parseInt(next());
}
public long nextLong(){
return Long.parseLong(next());
}
public double nextDouble(){
return Double.parseDouble(next());
}
public String nextLine(){
try{
return bin.readLine();
}
catch(Exception e){}
return null;
}
public boolean hasNext(){
String next=null;
try{
next=bin.readLine();
}
catch(Exception e){
}
if(next==null)
return false;
st=new StringTokenizer(next);
return true;
}
}
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
io sc = new io();
int T = sc.nextInt();
while(T-->0){
long one = sc.nextLong();
long two = sc.nextLong();
long res = 0;
if(one ==two){
System.out.println(one);
continue;
}
if(one==0){
System.out.println("-1");
continue;
}
if(two==0){
System.out.println("-1");
continue;
}
// boolean flag= false;
if(one>two){
long temp = one;
one= two;
two=temp;
}
if(one<two){
while(one<two){
one*=2;
res++;
}
res+=two;
}
System.out.println(res);
}
}
}
def helper(x,y,count):
if x > y:
x,y = y,x
if x == 0 and y == 0:
return 0
if x == 0:
return -1
while y > x:
x = 2*x
count += 1
return count + y
for t in range(int(input())):
a,b = (map(int,input().split(' ')))
print(helper(a,b,0))
# cook your code here
class Zero:
def __init__(self, x, y):
self.x = x
self.y = y
def solve(self):
x = self.x
y = self.y
if x == y:
return x
if x > y:
(x, y) = (y, x)
if x == 0:
return -1
rez = 0
while 2 * x < y:
x *= 2
rez += 1
d = x - (y - x)
rez += d
y -= d
rez += y
rez += 1
return rez
def main():
T = int(raw_input())
while T > 0:
T -= 1
s = [int(a) for a in raw_input().split(' ')]
ob = Zero(s[0], s[1])
print ob.solve()
if __name__ == '__main__':
main()
using System;
public class Test
{
static void Main(string[] args)
{
int t = 1;
t = int.Parse(Console.ReadLine());
while (t-- > 0) Console.WriteLine(Solve());
}
private static long Solve()
{
string[] input = Console.ReadLine().Split(' ');
int si = 0;
long x = StringToLong(input[0], 0, out si);
long y = StringToLong(input[1], 0, out si);
long res = 0;
if (x < y)
{
long z = x;
x = y;
y = z;
}
if (x == 0 && y == 0) return 0;
else if (x == 0 || y == 0) return -1;
while (y * 2 <= x)
{
y *= 2;
res++;
}
if (x == y) return x + res;
return x + res + 1;
}
static long StringToLong(string s, int index, out int space_i)
// Convert string from index up to next space or end to integer.
// Return space_i = index of next space encountered, or off end of string.
{
const int c_zero = '0';
long n = s[index] - c_zero;
int len = s.Length;
while (++index < len)
{
if (s[index] < c_zero)
break;
n = n * 10 + (s[index] - c_zero);
}
space_i = index;
return n;
}
const string c_digits = "0123456789";
static string LongToString(long a)
// Convert zero or positive integer to string
{
char[] str = new char[20]; // maximum number of chars
int i = 20;
str[--i] = ' '; // space after
do
{
str[--i] = c_digits[(int)(a % 10)];
a /= 10;
} while (a != 0);
return new string(str, i, str.Length - i);
}
}
package main
import (
"bufio"
"bytes"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
tc := readNum(reader)
var buf bytes.Buffer
for tc > 0 {
tc--
var x uint64
var y uint64
s, _ := reader.ReadBytes('\n')
pos := readUint64(s, 0, &x) + 1
readUint64(s, pos, &y)
res := solve(x, y)
buf.WriteString(fmt.Sprintf("%d\n", res))
}
fmt.Print(buf.String())
}
func readUint64(bytes []byte, from int, val *uint64) int {
i := from
var tmp uint64
for i < len(bytes) && bytes[i] >= '0' && bytes[i] <= '9' {
tmp = tmp*10 + uint64(bytes[i]-'0')
i++
}
*val = tmp
return i
}
func readInt(bytes []byte, from int, val *int) int {
i := from
sign := 1
if bytes[i] == '-' {
sign = -1
i++
}
tmp := 0
for i < len(bytes) && bytes[i] >= '0' && bytes[i] <= '9' {
tmp = tmp*10 + int(bytes[i]-'0')
i++
}
*val = tmp * sign
return i
}
func readString(reader *bufio.Reader) string {
s, _ := reader.ReadString('\n')
for i := 0; i < len(s); i++ {
if s[i] == '\n' {
return s[:i]
}
}
return s
}
func readNum(reader *bufio.Reader) (a int) {
bs, _ := reader.ReadBytes('\n')
readInt(bs, 0, &a)
return
}
func readTwoNums(reader *bufio.Reader) (a int, b int) {
res := readNNums(reader, 2)
a, b = res[0], res[1]
return
}
func readThreeNums(reader *bufio.Reader) (a int, b int, c int) {
res := readNNums(reader, 3)
a, b, c = res[0], res[1], res[2]
return
}
func readNNums(reader *bufio.Reader, n int) []int {
res := make([]int, n)
x := 0
bs, _ := reader.ReadBytes('\n')
for i := 0; i < n; i++ {
for x < len(bs) && (bs[x] < '0' || bs[x] > '9') && bs[x] != '-' {
x++
}
x = readInt(bs, x, &res[i])
}
return res
}
func solve(x, y uint64) int64 {
// x => 2 * x, shifts left
// y => 2 * y, shifts right
// x-- and y--
if x > y {
x, y = y, x
}
// x < y
if x == y {
return int64(x)
}
if x == 0 {
return -1
}
var res int64
for x < y {
res++
x *= 2
}
// x * 2 > y
return res + int64(y)
}
In our experience, we suggest you solve this Reduce to zero CodeChef Solution and gain some new skills from Professionals completely free and we assure you will be worth it.
If you are stuck anywhere between any coding problem, just visit Queslers to get the Reduce to zero CodeChef Solution.
I hope this Reduce to zero CodeChef Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.
This Problem is intended for audiences of all experiences who are interested in learning about Programming Language in a business context; there are no prerequisites.
Keep Learning!