🫥
AtCoder Beginner Contest 389
明日開催なので前回分をC問題まで解きました
A問題
package main
import (
"fmt"
"strconv"
)
func main() {
var s string
fmt.Scan(&s)
srune := []rune(s)
i, _ := strconv.Atoi(string(srune[0]))
i2, _ := strconv.Atoi(string(srune[2]))
ans := i * i2
fmt.Println(ans)
}
B問題
package main
import (
"fmt"
)
func main() {
var x int
fmt.Scan(&x)
dd := 2
for i := 0; i < 20; i++ {
x = x / dd
if x == 1 {
ans := dd
fmt.Println(ans)
break
}
dd++
}
}
C問題
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
var q int
fmt.Scan(&q)
reader := bufio.NewReaderSize(os.Stdin, 1<<20)
now := 0
ls := make([]int, 0)
m := 0
for i := 0; i < q; i++ {
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
parts := strings.Split(line, " ")
command, _ := strconv.Atoi(parts[0])
switch command {
case 1:
l, _ := strconv.Atoi(parts[1])
ls = append(ls, now)
now += l
case 2:
m++
case 3:
d, _ := strconv.Atoi(parts[1])
ans := (ls[d+m-1] - ls[m])
fmt.Println(ans)
}
}
}
以上です
Discussion