提出 #2393752


ソースコード 拡げる

package main

import (
	"fmt"
)

func main() {
	var a, b, c, x, y int
	fmt.Scan(&a, &b, &c, &x, &y)

	numA := x
	numB := y
	numC := 0

	if a+b > c*2 {
		m := min(numA, numB)
		numA -= m
		numB -= m
		numC += m * 2
		switch {
		case numA > 0 && a > c*2:
			numC += numA * 2
			numA = 0
		case numB > 0 && b > c*2:
			numC += numB * 2
			numB = 0
		}
	}

	fmt.Println(numA*a + numB*b + numC*c)
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

提出情報

提出日時
問題 C - Half and Half
ユーザ rankey55
言語 Go (1.6)
得点 300
コード長 496 Byte
結果 AC
実行時間 1 ms
メモリ 512 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 15
セット名 テストケース
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15
ケース名 結果 実行時間 メモリ
a01 AC 1 ms 512 KiB
a02 AC 1 ms 512 KiB
a03 AC 1 ms 512 KiB
b04 AC 1 ms 512 KiB
b05 AC 1 ms 512 KiB
b06 AC 1 ms 512 KiB
b07 AC 1 ms 512 KiB
b08 AC 1 ms 512 KiB
b09 AC 1 ms 512 KiB
b10 AC 1 ms 512 KiB
b11 AC 1 ms 512 KiB
b12 AC 1 ms 512 KiB
b13 AC 1 ms 512 KiB
b14 AC 1 ms 512 KiB
b15 AC 1 ms 512 KiB