Formatted question description: https://leetcode.ca/all/1276.html

# 1276. Number of Burgers with No Waste of Ingredients

## Level

Medium

## Description

Given two integers `tomatoSlices`

and `cheeseSlices`

. The ingredients of different burgers are as follows:

**Jumbo Burger:**4 tomato slices and 1 cheese slice.**Small Burger:**2 tomato slices and 1 cheese slice.

Return `[total_jumbo, total_small]`

so that the number of remaining `tomatoSlices`

equal to 0 and the number of remaining `cheeseSlices`

equal to 0. If it is not possible to make the remaining `tomatoSlices`

and `cheeseSlices`

equal to 0 return `[]`

.

**Example 1:**

**Input:** tomatoSlices = 16, cheeseSlices = 7

**Output:** [1,6]

**Explantion:** To make one jumbo burger and 6 small burgers we need 4*1 + 2*6 = 16 tomato and 1 + 6 = 7 cheese. There will be no remaining ingredients.

**Example 2:**

**Input:** tomatoSlices = 17, cheeseSlices = 4

**Output:** []

**Explantion:** There will be no way to use all ingredients to make small and jumbo burgers.

**Example 3:**

**Input:** tomatoSlices = 4, cheeseSlices = 17

**Output:** []

**Explantion:** Making 1 jumbo burger there will be 16 cheese remaining and making 2 small burgers there will be 15 cheese remaining.

**Example 4:**

**Input:** tomatoSlices = 0, cheeseSlices = 0

**Output:** [0,0]

**Example 5:**

**Input:** tomatoSlices = 2, cheeseSlices = 1

**Output:** [0,1]

**Constraints:**

`0 <= tomatoSlices <= 10^7`

`0 <= cheeseSlices <= 10^7`

## Solution

Since one jumbo burger uses 4 tomato slices and one small burger uses 2 tomato slices, the number of tomato slices used in total must be even. Therefore, first check whether `tomatoSlices`

is even. If `tomatoSlices`

is odd, then it is not possible to use all the gradients, so return `[]`

.

Then use the idea of linear equations to figure out the number of jumbo burgers and small burgers. Return the result if the numbers of both burgers are nonnegative integers.

```
class Solution {
public List<Integer> numOfBurgers(int tomatoSlices, int cheeseSlices) {
List<Integer> numbers = new ArrayList<Integer>();
if (tomatoSlices % 2 != 0)
return numbers;
int halfTomatoSlices = tomatoSlices / 2;
int totalJumbo = halfTomatoSlices - cheeseSlices;
int totalSmall = cheeseSlices * 2 - halfTomatoSlices;
if (totalJumbo >= 0 && totalSmall >= 0) {
numbers.add(totalJumbo);
numbers.add(totalSmall);
}
return numbers;
}
}
```