Skip to content

【PAST#01】B - 増減管理

問題概要

B - 増減管理

考え方

A_{i+1}A_i の判定を N-1 回行う。

AC
package main

import (
    "bufio"
    "fmt"
    "os"
)

var r = bufio.NewReader(os.Stdin)

var N int
var A []int

func main() {
    N = ni()
    A = nis(N)

    solve()
}

func solve() {
    for i := 0; i < N-1; i++ {
        fmt.Println(check(i))
    }
}

func check(i int) string {
    a := A[i+1] - A[i]
    switch {
    case a == 0:
        return "stay"
    case a < 0:
        return fmt.Sprintf("down %d", -a)
    default:
        return fmt.Sprintf("up %d", a)
    }
}

func ni() int { var n int; fmt.Fscan(r, &n); return n }
func nis(size int) []int {
    var n int
    res := make([]int, size)
    for i := range res {
        fmt.Fscan(r, &n)
        res[i] = n
    }
    return res
}

submission