dev/algorithm
BOJ / 1049๋ฒ / ๊ธฐํ์ค [Go][Python3]
crscnt
2021. 2. 19. 21:00
๐ฉ๐ป๐ป ๋ฌธ์
1049๋ฒ: ๊ธฐํ์ค
์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๊ฐ ๋ธ๋๋์ ํจํค์ง ๊ฐ๊ฒฉ๊ณผ ๋ฑ๊ฐ์ ๊ฐ๊ฒฉ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์ฃผ
www.acmicpc.net
โ๐ป ํ์ด
๐จ Go
// https://www.acmicpc.net/problem/1049
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n, m int
fmt.Fscanln(reader, &n, &m)
var minPackage, minSingle = 1000, 1000
for i := 0; i < m; i++ {
var packagePrice, singlePrice int
fmt.Fscanln(reader, &packagePrice, &singlePrice)
if minPackage > packagePrice {
minPackage = packagePrice
}
if minSingle > singlePrice {
minSingle = singlePrice
}
}
var money int
if minSingle*6 > minPackage {
money += (n / 6) * minPackage
n %= 6
if n > 0 {
if minSingle*n > minPackage {
money += minPackage
} else {
money += minSingle * n
}
}
} else {
money += n * minSingle
}
fmt.Fprintln(writer, money)
}
๐จ Python3
# https://www.acmicpc.net/problem/1049
import sys
if __name__ == "__main__":
n, m = list(map(int, sys.stdin.readline().split()))
min_package, min_single = 1000, 1000
for i in range(m):
package_price, single_price = list(map(int, sys.stdin.readline().split()))
min_package = min(min_package, package_price)
min_single = min(min_single, single_price)
money = 0
if min_single*6 > min_package:
money += (n // 6) * min_package
n %= 6
if n > 0:
if min_single * n > min_package:
money += min_package
else:
money += min_single*n
else:
money += n * min_single
print(money)
728x90