문제
2024년 2월 3일 개최 예정인 온사이트 그랜드 아레나에서는 참가자들에게 티셔츠 한 장과 펜 한 자루가 포함된 웰컴 키트를 나눠줄 예정입니다. 키트를 제작하는 업체는 다음과 같은 조건으로만 주문이 가능합니다.
- 티셔츠는 S, M, L, XL, XXL, 그리고 XXXL의 6가지 사이즈가 있습니다. 티셔츠는 같은 사이즈의 𝑇 장 묶음으로만 주문할 수 있습니다.
- 펜은 한 종류로, 𝑃 자루씩 묶음으로 주문하거나 한 자루씩 주문할 수 있습니다.
총 𝑁
명의 참가자 중 S, M, L, XL, XXL, XXXL 사이즈의 티셔츠를 신청한 사람은 각각 𝑆,𝑀,𝐿,𝑋𝐿,𝑋𝑋𝐿,𝑋𝑋𝑋𝐿 명입니다. 티셔츠는 남아도 되지만 부족해서는 안 되고 신청한 사이즈대로 나눠주어야 합니다. 펜은 남거나 부족해서는 안 되고 정확히 참가자 수만큼 준비되어야 합니다.티셔츠를 𝑇
장씩 최소 몇 묶음 주문해야 하는지, 그리고 펜을 𝑃 자루씩 최대 몇 묶음 주문할 수 있고, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.입력
첫 줄에 참가자의 수 𝑁
이 주어집니다. (1≤𝑁≤109)둘째 줄에 티셔츠 사이즈별 신청자의 수 𝑆,𝑀,𝐿,𝑋𝐿,𝑋𝑋𝐿,𝑋𝑋𝑋𝐿
이 공백으로 구분되어 주어집니다. (0≤𝑆,𝑀,𝐿,𝑋𝐿,𝑋𝑋𝐿,𝑋𝑋𝑋𝐿≤𝑁; 𝑆+𝑀+𝐿+𝑋𝐿+𝑋𝑋𝐿+𝑋𝑋𝑋𝐿=𝑁)셋째 줄에 정수 티셔츠와 펜의 묶음 수를 의미하는 정수 𝑇
와 𝑃 가 공백으로 구분되어 주어집니다. (2≤𝑇,𝑃≤109)출력
첫 줄에 티셔츠를 𝑇
장씩 최소 몇 묶음 주문해야 하는지 출력하세요.다음 줄에 펜을 𝑃
자루씩 최대 몇 묶음 주문할 수 있는지와, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
아이디어
이번엔 문제에서 시키는대로 풀이하는 간단한 수학 문제였다.
제출 코드
import sys
import math
input = sys.stdin.readline
n = int(input())
sizes = map(int, input().split())
t, p = map(int, input().split())
shirts_set_count = 0
for size in sizes:
if size > 0:
shirts_set_count += math.ceil(size / t)
print(shirts_set_count)
print(n // p, n % p)
'Study > Algorithms' 카테고리의 다른 글
백준 2231번: 분해합 (Python) (0) | 2024.06.08 |
---|---|
백준 1654: 랜선 자르기, 이분 탐색 풀이 (Python) (0) | 2024.06.07 |
백준 11866: 요세푸스 문제 0 (Python) - 공식 없이 쉽게 풀이 (0) | 2024.06.04 |
백준 11050 이항계수 (Python) (0) | 2024.05.31 |
백준 10866: 덱 (Python) (0) | 2024.05.31 |