TOPIC

Problema utilizando Go

malexandre0 asked 3 years ago

Tentei resolver utilizando Go, porém dá Wrong answer (100%), tem algum detalhe que estou deixando passar?

Observação: testando as entradas de exemplo, o valores estão corretos, assim como os testes que realizei com as entradas do uDebug.

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func main() {

    leitura := bufio.NewReader(os.Stdin)
    texto, _ := leitura.ReadString('\n')
    numeros := strings.Split(strings.Replace(texto, "\n", "", 1), " ")
    var (
        a, n int
    )
    for posicao, numero := range numeros {
        valor, _ := strconv.ParseInt(numero, 10, 64)
        if posicao == 0 {
            a = int(valor)
            continue
        } else {
            if valor > 0 {
                n = int(valor)
                break
            }
        }
    }

    soma := 0
    for i := 0; i <= n-1; i++ {
        soma += (a + i)
    }

    fmt.Println(soma)

}

Remember not post solutions. Your post may be reviewed by our moderators.

  • luizportel4 replied 1 year ago

    Eu testei o seu código e também não entendi pq não funcionou, pode ter sido o compilador do beecrowd. Uma dica talvez seja testar uma abordagem diferente para coletar o input, há um meio mais fácil utilizando o próprio pacote do fmt. Vou deixar meu código para demonstração.

    package main
    
    import "fmt"
    
    var A, N, sumConsecutive int
    
    func main() {
        fmt.Scanf("%d %d", &A, &N)
    
        for N <= 0 {
            fmt.Scanf("%d", &N)
        }
    
        for i := 0; i <= N-1; i++ {
            sumConsecutive += A + i
        }
        fmt.Println(sumConsecutive)
    }