Elections (Codeforces 1593A)
Tags: Math, math

The elections in which three candidates participated have recently ended. The first candidate received $$$a$$$ votes, the second one received $$$b$$$ votes, the third one received $$$c$$$ votes. For each candidate, solve the following problem: how many votes should be added to this candidate so that he wins the election (i.e. the number of votes for this candidate was strictly greater than the number of votes for any other candidate)?Please note that for each candidate it is necessary to solve this problem independently, i.e. the added votes for any candidate do not affect the calculations when getting the answer for the other two candidates.

Input: The first line contains one integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. Then $$$t$$$ test cases follow.Each test case consists of one line containing three integers $$$a$$$, $$$b$$$, and $$$c$$$ ($$$0 \le a,b,c \le 10^9$$$).

Output: For each test case, output in a separate line three integers $$$A$$$, $$$B$$$, and $$$C$$$ ($$$A, B, C \ge 0$$$) separated by spaces — the answers to the problem for the first, second, and third candidate, respectively.


Sample Inputs:
5
0 0 0
10 75 15
13 13 17
1000 0 0
0 1000000000 0

Sample Outputs:
1 1 1
66 0 61
5 5 0
0 1001 1001
1000000001 0 1000000001

Solution (Python):
t = int(input())
r = []
for i in range(t):
    x = list(map(int, input().split()))
    a = x[0]
    b = x[1]
    c = x[2]
    rr = []
    d1 = max(b, c)
    if d1 >= a:
        rr.append(d1 - a + 1)
    else:
        rr.append(0)
    d2 = max(a, c)
    if d2 >= b:
        rr.append(d2 - b + 1)
    else:
        rr.append(0)
    d3 = max(b, a)
    if d3 >= c:
        rr.append(d3 - c + 1)
    else:
        rr.append(0)
    r.append(' '.join(map(str, rr)))
for i in range(len(r)):
    print(r[i])

Solution (Python):
t = int(input())
ans = []
for i in range(t):
    (a, b, c) = map(int, input().split())
    if a > b and a > c:
        ans.append('0 ' + str(a + 1 - b) + ' ' + str(a + 1 - c))
    elif b > a and b > c:
        ans.append(str(b + 1 - a) + ' 0 ' + str(b + 1 - c))
    elif c > a and c > b:
        ans.append(str(c + 1 - a) + ' ' + str(c + 1 - b) + ' 0')
    else:
        ans.append(str(max(a, b, c) + 1 - a) + ' ' + str(max(a, b, c) + 1 - b) + ' ' + str(max(a, b, c) + 1 - c))
for i in range(t):
    print(ans[i])

Solution (Python):
def Elections(t):
    n = 0
    listA = []
    for i in range(int(input())):
        arr = [int(x) for x in input().split(' ')]
        for num in arr:
            n += max(arr) - num
            if n == 0:
                if arr.count(num) > 1:
                    listA.append(str(n + 1))
                else:
                    listA.append(str(n))
            if n != 0:
                listA.append(str(n + 1))
            n = 0
    return ' '.join(listA)
print(Elections(5))