Open In App

Find minimum possible values of A, B and C when two of the (A + B), (A + C) and (B + C) are given

Last Updated : 07 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given two integers X and Y. X and Y represent any two values among (A + B), (A + C) and (B + C). The task is to find A, B and C such that A + B + C is minimum possible.
Examples: 
 

Input: X = 3, Y = 4 
Output: 2 1 2 
A = 2, B = 1, C = 2. 
Then A + B = 3 and A + C = 4. 
A + B + C = 5 which is minimum possible.
Input: X = 123, Y = 13 
Output: 1 12 111 
 

 

Approach: Let X = A + B and Y = B + C. If X > Y let’s swap them. Note that A + B + C = A + B + (Y – B) = A + Y. That’s why it’s optimal to minimize the value of A. So the value of A can always be 1. Then B = X – A and C = Y – B.
Below is the implementation of the above approach: 
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to find A, B and C
void MinimumValue(int x, int y)
{
 
    // Keep minimum number in x
    if (x > y)
        swap(x, y);
 
    // Find the numbers
    int a = 1;
    int b = x - 1;
    int c = y - b;
 
    cout << a << " " << b << " " << c;
}
 
// Driver code
int main()
{
    int x = 123, y = 13;
 
    // Function call
    MinimumValue(x, y);
 
    return 0;
}


Java




// Java implementation of the approach
import java.io.*;
 
class GFG
{
 
// Function to find A, B and C
static void MinimumValue(int x, int y)
{
 
    // Keep minimum number in x
    if (x > y)
    {
        int temp = x;
            x = y;
            y = temp;
    }
 
    // Find the numbers
    int a = 1;
    int b = x - 1;
    int c = y - b;
 
    System.out.print( a + " " + b + " " + c);
}
 
// Driver code
public static void main (String[] args)
{
    int x = 123, y = 13;
 
    // Function call
    MinimumValue(x, y);
}
}
 
// This code is contributed by anuj_67..


Python3




# Python3 implementation of the approach
 
# Function to find A, B and C
def MinimumValue(x, y):
 
    # Keep minimum number in x
    if (x > y):
        x, y = y, x
 
    # Find the numbers
    a = 1
    b = x - 1
    c = y - b
 
    print(a, b, c)
 
# Driver code
x = 123
y = 13
 
# Function call
MinimumValue(x, y)
 
# This code is contributed by Mohit Kumar


C#




// C# implementation of the approach
using System;
 
class GFG
{
 
// Function to find A, B and C
static void MinimumValue(int x, int y)
{
 
    // Keep minimum number in x
    if (x > y)
    {
        int temp = x;
            x = y;
            y = temp;
    }
 
    // Find the numbers
    int a = 1;
    int b = x - 1;
    int c = y - b;
 
    Console.WriteLine( a + " " + b + " " + c);
}
 
// Driver code
public static void Main ()
{
    int x = 123, y = 13;
 
    // Function call
    MinimumValue(x, y);
}
}
 
// This code is contributed by anuj_67..


Javascript




<script>
// javascript implementation of the approach
 
// Function to find A, B and C
function MinimumValue(x, y)
{
 
    // Keep minimum number in x
    if (x > y)
    {
        var temp = x;
            x = y;
            y = temp;
    }
 
    // Find the numbers
    var a = 1;
    var b = x - 1;
    var c = y - b;
 
    document.write( a + " " + b + " " + c);
}
 
// Driver code
    var x = 123, y = 13;
 
    // Function call
    MinimumValue(x, y);
 
// This code is contributed by Amit Katiyar
 
</script>


Output: 

1 12 111

 

Time Complexity: O(1)

Auxiliary Space: O(1)



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads