[백준] Baekjoon Online Judge
문제
2024년 2월 3일 개최 예정인 온사이트 그랜드 아레나에서는 참가자들에게 티셔츠 한 장과 펜 한 자루가 포함된 웰컴 키트를 나눠줄 예정입니다. 키트를 제작하는 업체는 다음과 같은 조건으로만 주문이 가능합니다.
- 티셔츠는 S, M, L, XL, XXL, 그리고 XXXL의 6가지 사이즈가 있습니다. 티셔츠는 같은 사이즈의 𝑇장 묶음으로만 주문할 수 있습니다.
- 펜은 한 종류로, 𝑃자루씩 묶음으로 주문하거나 한 자루씩 주문할 수 있습니다.
총 𝑁 명의 참가자 중 S, M, L, XL, XXL, XXXL 사이즈의 티셔츠를 신청한 사람은 각각 𝑆, 𝑀, 𝐿, 𝑋𝐿, 𝑋𝑋𝐿, 𝑋𝑋𝑋𝐿명입니다. 티셔츠는 남아도 되지만 부족해서는 안 되고 신청한 사이즈대로 나눠주어야 합니다. 펜은 남거나 부족해서는 안 되고 정확히 참가자 수만큼 준비되어야 합니다.
티셔츠를 𝑇장씩 최소 몇 묶음 주문해야 하는지, 그리고 펜을 𝑃자루씩 최대 몇 묶음 주문할 수 있고, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
입력
첫 줄에 참가자의 수 𝑁이 주어집니다. (1 ≤ 𝑁 ≤ 10^9)
둘째 줄에 티셔츠 사이즈별 신청자의 수 𝑆, 𝑀, 𝐿, 𝑋𝐿, 𝑋𝑋𝐿, 𝑋𝑋𝑋𝐿이 공백으로 구분되어 주어집니다. (0≤ 𝑆, 𝑀, 𝐿, 𝑋𝐿, 𝑋𝑋𝐿, 𝑋𝑋𝑋𝐿 ≤ 𝑁; 𝑆 + 𝑀 + 𝐿 + 𝑋𝐿 + 𝑋𝑋𝐿 + 𝑋𝑋𝑋𝐿 = 𝑁)
셋째 줄에 정수 티셔츠와 펜의 묶음 수를 의미하는 정수 𝑇 와 𝑃 가 공백으로 구분되어 주어집니다. (2 ≤ 𝑇, 𝑃 ≤ 10^9)
출력
첫 줄에 티셔츠를 𝑇장씩 최소 몇 묶음 주문해야 하는지 출력하세요.
다음 줄에 펜을 𝑃자루씩 최대 몇 묶음 주문할 수 있는지와, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
풀이
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int N; // 참가자의 수
int tSize[6]; // 티셔츠 사이즈별 신청자의 수
int T, P; // 티셔츠와 펜의 묶음 수
// 입력
cin >> N;
for (int i = 0; i < 6; i++) cin >> tSize[i];
cin >> T >> P;
// 티셔츠 묶음 개수 구하기
int tCnt = 0;
for (int i = 0; i < 6; i++)
tCnt += (tSize[i] / T + (tSize[i] % T > 0)); // 나머지가 존재한다면 +1
// 출력
cout << tCnt << '\n';
cout << N / P << ' ' << N % P << '\n';
return 0;
}
'백준 > C++' 카테고리의 다른 글
[Baekjoon/C++] 31654번 - Adding Trouble (0) | 2024.06.08 |
---|---|
[Baekjoon/C++] 30804번 - 과일 탕후루 (1) | 2024.06.07 |
[Baekjoon/C++] 28702번 - FizzBuzz (0) | 2024.06.04 |
[Baekjoon/C++] 31403번 - A + B - C (0) | 2024.06.03 |
[Baekjoon/C++] 11657번 - 타임머신 (0) | 2024.05.31 |