Elections
Explicación
Complejidad temporal:
Este problema nos pide hallar el número que hay que sumarle a otro número para que sea estrictamente mayor que otros 2 números. En otras palabras, si son los valores de los números dados y es el número que se va a sumar, obtenemos la siguiente ecuación:
Al resolverla, obtenemos . Con esto, podemos calcular para cada uno de , y . Sin embargo, es importante notar que si , entonces debemos imprimir , ya que el valor a sumar no puede ser negativo.
Implementación
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
for (int tc = 0; tc < t; tc++) {
int a, b, c;
cin >> a >> b >> c;
/*
* Calculamos el valor que hay que superar
* para que esa persona gane la elección.
* Por ejemplo, max(b,c) da la cantidad que
* a debe superar para ganar.
*/
int maxa = max(b, c);
int maxb = max(a, c);
int maxc = max(a, b);
cout << max(0, maxa + 1 - a) << " " << max(0, maxb + 1 - b) << " "
<< max(0, maxc + 1 - c) << endl;
}
}import java.io.*;
import java.util.*;
public class Election {
public static void main(String[] args) throws IOException {
Kattio io = new Kattio();
int t = io.nextInt();
for (int tc = 0; tc < t; tc++) {
int a = io.nextInt();
int b = io.nextInt();
int c = io.nextInt();
/*
* Calculamos el valor que hay que superar
* para que esa persona gane la elección.
* Por ejemplo, max(b,c) da la cantidad que
* a debe superar para ganar.
*/
int maxa = Math.max(b, c);
int maxb = Math.max(a, c);
int maxc = Math.max(a, b);
System.out.println(Math.max(0, maxa + 1 - a) + " " +
Math.max(0, maxb + 1 - b) + " " +
Math.max(0, maxc + 1 - c));
}
io.close();
}
// CodeSnip{Kattio}
}for _ in range(int(input())):
a, b, c = map(int, input().split())
maxa = max(b, c)
maxb = max(a, c)
maxc = max(a, b)
print(max(0, maxa + 1 - a), max(0, maxb + 1 - b), max(0, maxc + 1 - c))