문제 출처 : https://www.acmicpc.net/problem/30802
언어 : Kotlin
문제 설명 :
2024년 2월 3일 개최 예정인 온사이트 그랜드 아레나에서는 참가자들에게 티셔츠 한 장과 펜 한 자루가 포함된 웰컴 키트를 나눠줄 예정입니다. 키트를 제작하는 업체는 다음과 같은 조건으로만 주문이 가능합니다.
티셔츠는 S, M, L, XL, XXL, 그리고 XXXL의 6가지 사이즈가 있습니다. 티셔츠는 같은 사이즈의 T장 묶음으로만 주문할 수 있습니다.펜은 한 종류로, P자루씩 묶음으로 주문하거나 한 자루씩 주문할 수 있습니다.
총 N명의 참가자 중 S, M, L, XL, XXL, XXXL 사이즈의 티셔츠를 신청한 사람은 각각 S, M, L, XL, XXL, XXXL명입니다. 티셔츠는 남아도 되지만 부족해서는 안 되고 신청한 사이즈대로 나눠주어야 합니다. 펜은 남거나 부족해서는 안 되고 정확히 참가자 수만큼 준비되어야 합니다.
티셔츠를 T장씩 최소 몇 묶음 주문해야 하는지, 그리고 펜을 P자루씩 최대 몇 묶음 주문할 수 있고, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
입력 :
첫 줄에 참가자의 수 N이 주어집니다. (1 ≤ N ≤ 10^9)
둘째 줄에 티셔츠 사이즈별 신청자의 수 S, M, L, XL, XXL, XXXL이 공백으로 구분되어 주어집니다. (0 ≤ S, M, L, XL, XXL, XXXL ≤ N; S + M + L + XL + XXL + XXXL = N)
셋째 줄에 정수 티셔츠와 펜의 묶음 수를 의미하는 정수 T와 P가 공백으로 구분되어 주어집니다. (2 ≤ T, P ≤ 10^9)
출력 :
첫 줄에 티셔츠를 T장씩 최소 몇 묶음 주문해야 하는지 출력하세요.
다음 줄에 펜을 P자루씩 최대 몇 묶음 주문할 수 있는지와, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
제한 사항 :
- 시간 제한 : 0.1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
23 3 1 4 1 5 9 5 7 |
7 3 2 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = readLine().toInt()
val sizeCount = readLine().split(" ").map { it.toInt() }
val (t, p) = readLine().split(" ").map { it.toInt() }
val tCal = sizeCount.sumOf { if (it % t != 0) (it / t) + 1 else it / t }
bw.appendLine("$tCal").appendLine("${n / p} ${n % p}")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
10928번: SHA-1 (0) | 2024.07.09 |
---|---|
15650번: N과 M (2) (0) | 2024.07.08 |
30804번: 과일 탕후루 (1) | 2024.07.08 |
16934번: 게임 닉네임 (0) | 2024.07.05 |
30958번: 서울사이버대학을 다니고 (0) | 2024.07.05 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!