Application Based Problems
0% completed
Minimum and Maximum Cost to buy N Candies
Gary and multiplication
Max Game
Last Stone Weight
Fourth Largest Element in the Array
String Transformation
Running median
Minimum Character Deletion
Sorted Matrix
Connect n ropes with minimum cost
3

Last Stone Weight

Difficulty: EASY
Avg. time to solve
27 min

Problem Statement
Suggest Edit

We have a collection of 'N' stones, each stone has a positive integer weight.

On each turn, we choose the two heaviest stones and smash them together. Suppose the stones have weights 'x' and 'y' with 'x' <= 'y'. The result of this smash will be:

1. If 'x' == 'y', both stones are totally destroyed;

2. If 'x' != 'y', the stone of weight 'x' is totally destroyed, and the stone of weight 'y' has a new weight equal to 'y - x'.

In the end, there is at most 1 stone left. Return the weight of this stone or 0 if there are no stones left.

Input format:
The first line of input contains the integer 'N', representing the total number of stones.

The second line of input contains 'N' single space-separated integers, representing the weights of the stones.
Output Format:
The only output line prints the weight of the last stone, if it exists, 0 otherwise.
Note:
You do not need to print anything; it has already been taken care of. Just implement the given functions.
Constraints :
1 <= N <= 10^5
1 <= W <= 10^6

Time Limit: 1 sec
Sample Input 1:
1
10
Sample Output 1:
10
Explanation For Sample Input 1:
There is Only one stone so the weight of the last stone is 10
Sample Input 2:
3
1 9 5
Sample Output 2:
3 
Reset Code
Full screen
copy-code
Console