Skip to content

Instantly share code, notes, and snippets.

@Amorim33
Created August 22, 2025 02:29
Show Gist options
  • Select an option

  • Save Amorim33/8ee21b5ba77a684b319936ec5d3faa44 to your computer and use it in GitHub Desktop.

Select an option

Save Amorim33/8ee21b5ba77a684b319936ec5d3faa44 to your computer and use it in GitHub Desktop.
# O(N) -- Solução ótima
P = list(map(int, input().split()))
C = list(map(int, input().split()))
# Inicia de 1 porque o primeiro item da lista é a quantidade de gols
ponteiroP = 1
ponteiroC = 1
# Placar sempre começa em 0
print('0 0')
# Enquanto qualquer um dos ponteiros ainda estiver dentro dos limites das listas, o loop continua
while ponteiroP < len(P) or ponteiroC < len(C):
# Se o ponteiro do Paulo já passou do limite da lista, mas o loop não acabou, quer dizer que ainda há gols da Camila
if ponteiroP >= len(P):
ponteiroC += 1
# Lógica inversa aqui
elif ponteiroC >= len(C):
ponteiroP += 1
# Caso os dois ponteiros estejam dentro da lista, verificamos qual é o minuto menor e incrementamos o ponteiro.
else:
if P[ponteiroP] < C[ponteiroC]:
ponteiroP += 1
else:
ponteiroC += 1
# Precisamos decrementar porque ambos os ponteiros começam em 1
print(f'{ponteiroP - 1} {ponteiroC - 1}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment