Skip to content

Instantly share code, notes, and snippets.

@veigavitor
Created April 1, 2023 23:24
Show Gist options
  • Save veigavitor/b0270be55e0e985b0a4eae1c435156a9 to your computer and use it in GitHub Desktop.
Save veigavitor/b0270be55e0e985b0a4eae1c435156a9 to your computer and use it in GitHub Desktop.
#include <bits/stdc++.h>
using namespace std;
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
// temos 'k' entradas
int k;
cin >> k;
while(k--) {
// lemos a entrada
int a, b, c, d;
cin >> a >> b >> c >> d;
// calculamos quantas casas para cima (somente no eixo y) o Andremfk tem que andar
// depois de andar 'cima' casas para cima, ele também terá andado 'cima' casas para a direta
int cima = d - b;
// agora, calculamos quantas casas ele tem que andar para esquerda (no eixo x) depois de andar 'cima' casas para a direita
int esquerda = (a + cima) - c;
// se, o valor de 'cima' ou 'esquerda' derem negativos, quer dizer que ele teria que
// andar para baixo ou para a direita, o que fere as condições do problema
if(cima < 0 or esquerda < 0) {
cout << -1 << endl;
continue;
}
// retornamos a soma das quantidade de cada tipo de movimento que ele vai fazer
cout << cima + esquerda << endl;
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment