Corrida de caracóis

Steve e Maurice têm caracóis de corrida. Cada um tem três: um lento s, um de velocidade média m e um rápido f. Embora os caracóis de Steve sejam um pouco mais rápidos que os de Maurice, Maurice tem um truque na manga. Seu plano é:

  1. Rodada 1: [s, f] Sacrificar seu caracol mais lento contra o mais rápido de Steve.
  2. Rodada 2: [m, s] Colocar seu caracol de velocidade média contra o mais lento de Steve.
  3. Rodada 3: [f, m] Colocar seu caracol mais rápido contra o de velocidade média de Steve.

Crie uma função que determine se o plano de Maurice dará certo. Ela deve retornar true se Maurice vencer 2/3 corridas.

A função recebe:

  1. Array 1: [s, m, f] de Maurice.
  2. Array 2: [s, m, f] de Steve.

Exemplos

Program.mauriceWins(new int[]{3, 5, 10}, new int[]{4, 7, 11}) ➞ true
// Como os confrontos são (3, 11), (5, 4) e (10, 7), Maurice vence 2 de 3.

Program.mauriceWins(new int[]{6, 8, 9}, new int[]{7, 12, 14}) ➞ false
// Como os confrontos são (6, 14), (8, 7) e (9, 12), Steve vence 2 de 3.

Program.mauriceWins(new int[]{1, 8, 20}, new int[]{2, 9, 100}) ➞ true

Notas

  • Maurice vence um confronto se a velocidade de seu caracol for estritamente maior que a do caracol de Steve.
  • Steve sempre competirá nesta ordem: [f, s, m].
  • Você sempre receberá os caracóis em ordem crescente de velocidade.