Ir ao conteúdo

Posts recomendados

Postado

Senhores, estou com uma dúvida neste exercício, 2551, do site https://www.beecrowd.com.br/judge/pt/problems/view/2551. Verifiquei alguns casos de teste pelo site https://www.udebug.com/URI/2551, que serve para depuração e todos casos são válidos. Porém o julgador online ainda dá 5% de erro. Alguém poderia ajudar?

 

from sys import stdin
lista = []
total = []
igual = False

for line in stdin:
    if line == '':
        break
    valor = line.split('\n')
    qtd = int(valor[0])
    for i in range(qtd):
        valores = input().split()
        minuto = int(valores[0])
        dist = int(valores[1])
        media = dist / minuto
        lista.append(media)
        if max(lista) == media:
            if i != 0:
                for j in range(i):
                    if media == lista[j]:
                        igual = True
            if not igual:
                total.append(i+1)             
    tam = len(total)
    for i in range(tam):
        print(total[i])
    lista.clear()
    total.clear()
    igual = False
                

 

  • Obrigado 1
Postado

Olá @kampa896

Minha teoria é que as informações usadas para verificar a resposta no julgador 'online' não são todas ideias, pelo menos os 5% finais

 

Teste o seguinte:

Entrada

4
2 2
2 2

 

E espere pela seguinte saída

1

 

[:)] Hum! 

Sua saída é 1?

  • Curtir 1
  • Obrigado 1
Postado

@mauro_b obrigado pela dica, meu amigo. Vendo as opções do UDebug você tinha razão. Porém ainda não é essa a resposta correta. Fiz a alteração conforme sua dica, mas continua dando 5% de erro. Mas obrigado mesmo assim!

 

from sys import stdin
lista = []
total = []
igual = False

for line in stdin:
    if line == '':
        break
    valor = line.split('\n')
    qtd = int(valor[0])
    for i in range(qtd):
        valores = input().split()
        if valores == []:
            continue
        else:
            minuto = int(valores[0])
            dist = int(valores[1])
            media = dist / minuto
            lista.append(media)
            if max(lista) == media:
                if i != 0:
                    for j in range(i):
                        if media == lista[j]:
                            igual = True
                if not igual:
                    total.append(i+1)             
    tam = len(total)
    for i in range(tam):
        print(total[i])
    lista.clear()
    total.clear()
    igual = False
                

 

Postado

@kampa896  Fiz o teste num compilador 'online', usei a entrada

3
1 1
1 1

 

De fato, a programação falhou depois de 0.32s e não houve a saída esperada: 1

Seja lá o que você fez, não surtiu efeito. Mas, não desista, é um jogo.

 

 

[:)

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...