# Program to find the head start in a race

Given the head start that A gives to B and C in a 100-meters race. The task is to find the head-start that B can give to C in the same race.

**Examples:**

Input: B = 10 meters, C = 28 meters Output: 20 meters B can give C a start of 20 meters. Input: B = 20 meters, C = 50 meters Output: 62 meters B can give C a start of 62 meters.

**Approach:**

Total meters in a race = 100 meters.

A is ahead of B by 10 meters. When A completed it’s 100 meters B completed it’s 90 meters.

Similarly, A is ahead of C by 28 meters. When A completed it’s 100 meters C completed it’s 72 meters.

Now, When B completed it’s 90 meters C completed it’s 72 meters.

So when B completed it’s 100 meters C completed it’s 80 meters.

–> (( C * 100) / B)

–> (( 72 * 100) / 90) i.e80 meters

So B can give C a start of 20 meters

**Below is the implementation of the above approach:**

## C++

`// C++ implementation of above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the B start to C` `int` `Race(` `int` `B, ` `int` `C)` `{` ` ` `int` `result = 0;` ` ` `// When B completed it's 100 meter` ` ` `// then Completed meters by C is` ` ` `result = ((C * 100) / B);` ` ` `return` `100 - result;` `}` `// Driver Code.` `int` `main()` `{` ` ` `int` `B = 10, C = 28;` ` ` `// When A completed it's 100 meter` ` ` `// Then completed meters of B and C is` ` ` `B = 100 - B;` ` ` `C = 100 - C;` ` ` `cout << Race(B, C) << ` `" meters"` `;` `return` `0;` `}` |

## Java

`// Java implementation of above approach` `public` `class` `GFG` `{` ` ` `// Function to find the B start to C` `static` `int` `Race(` `int` `B, ` `int` `C)` `{` ` ` `int` `result = ` `0` `;` ` ` `// When B completed it's 100 meter` ` ` `// then Completed meters by C is` ` ` `result = ((C * ` `100` `) / B);` ` ` `return` `100` `- result;` `}` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `B = ` `10` `;` ` ` `int` `C = ` `28` `;` ` ` ` ` `// When A completed it's 100 meter` ` ` `// Then completed meters of B and C is` ` ` `B = ` `100` `- B;` ` ` `C = ` `100` `- C;` ` ` ` ` `System.out.println(Race(B, C) + ` `" meters"` `);` `}` `}` `// This code is contributed` `// by ChitraNayal` |

## Python3

`# Python 3 implementation` `# of above approach` `# Function to find the` `# B start to C` `def` `Race(B, C):` ` ` `result ` `=` `0` `;` ` ` `# When B completed it's 100 meter` ` ` `# then Completed meters by C is` ` ` `result ` `=` `((C ` `*` `100` `) ` `/` `/` `B)` ` ` `return` `100` `-` `result` `# Driver Code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `B ` `=` `10` ` ` `C ` `=` `28` ` ` ` ` `# When A completed it's 100 meter` ` ` `# Then completed meters of B and C is` ` ` `B ` `=` `100` `-` `B;` ` ` `C ` `=` `100` `-` `C;` ` ` ` ` `print` `(` `str` `(Race(B, C)) ` `+` `" meters"` `)` `# This code is contributed` `# by ChitraNayal` |

## C#

`// C# implementation of above approach` `using` `System;` `class` `GFG` `{` `// Function to find the B start to C` `static` `int` `Race(` `int` `B, ` `int` `C)` `{` ` ` `int` `result = 0;` ` ` `// When B completed it's 100 meter` ` ` `// then Completed meters by C is` ` ` `result = ((C * 100) / B);` ` ` `return` `100 - result;` `}` `// Driver Code` `public` `static` `void` `Main()` `{` ` ` `int` `B = 10;` ` ` `int` `C = 28;` ` ` ` ` `// When A completed it's 100 meter` ` ` `// Then completed meters of B and C is` ` ` `B = 100 - B;` ` ` `C = 100 - C;` ` ` ` ` `Console.Write(Race(B, C) + ` `" meters"` `);` `}` `}` `// This code is contributed` `// by ChitraNayal` |

## PHP

`<?php` `// PHP implementation of above approach` `// Function to find the B start to C` `function` `Race(` `$B` `, ` `$C` `)` `{` ` ` `$result` `= 0;` ` ` `// When B completed it's 100 meter` ` ` `// then Completed meters by C is` ` ` `$result` `= ((` `$C` `* 100) / ` `$B` `);` ` ` `return` `100 - ` `$result` `;` `}` `// Driver Code` `$B` `= 10;` `$C` `= 28;` `// When A completed it's 100 meter` `// Then completed meters of B and C is` `$B` `= 100 - ` `$B` `;` `$C` `= 100 - ` `$C` `;` `echo` `Race(` `$B` `, ` `$C` `) . ` `" meters"` `;` `// This code is contributed` `// by ChitraNayal` `?>` |

## Javascript

`<script>` `// Javascript implementation of above approach` `// Function to find the B start to C` `function` `Race(B, C)` `{` ` ` `var` `result = 0;` ` ` ` ` `// When B completed it's 100 meter` ` ` `// then Completed meters by C is` ` ` `result = ((C * 100) / B);` ` ` `return` `100 - result;` `}` `// Driver Code` `var` `B = 10, C = 28;` `// When A completed it's 100 meter` `// Then completed meters of B and C is` `B = 100 - B;` `C = 100 - C;` `document.write(Race(B, C) + ` `" meters"` `);` `// This code is contributed by itsok` `</script>` |

**Output:**

20 meters

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**