두 개의 숫자 n과 k가 있다고 가정합니다. 파티에는 n명의 초대된 친구가 있습니다. Amal은 종이접기 형식으로 초대장을 만들고 싶어합니다. 각 초대장에는 빨간색 종이 2개, 녹색 종이 5개, 파란색 종이 8개가 필요합니다. 각 색의 공책은 무한히 많지만, 각 공책은 k개의 종이에 단 하나의 색으로만 구성되어 있습니다. Amal이 n명의 친구를 모두 초대하기 위해 구입해야 하는 최소 노트북 수를 찾아야 합니다.
따라서 입력이 n =3과 같으면; k =5이면 2개의 빨간색 노트북, 3개의 녹색 노트북, 5개의 파란색 노트북이 필요하기 때문에 출력은 10이 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
(2 * n + k - 1) / k + (5 * n + k - 1) / k + (8 * n + k - 1) / k
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; int solve(int n, int k){ return (2 * n + k - 1) / k + (5 * n + k - 1) / k + (8 * n + k - 1) / k; } int main(){ int n = 3; int k = 5; cout << solve(n, k) << endl; }
입력
3,5
출력
10