문제
세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다.
가능한 최대의 곱을 출력한다.
만약 S=10, K=3이면, 3,3,4는 곱이 36으로 최대이다.
입력
첫째 줄에 두 수 S와 K가 주어진다. K는 20보다 작거나 같고, S는 100보다 작거나 같으며 K보다 크거나 같다.
출력
첫째 줄에 정답을 출력한다. 답은 9223372036854775807보다 작다.
예제 입력 1 복사
10 3
예제 출력 1 복사
36
예제 입력 2 복사
10 1
예제 출력 2 복사
10
예제 입력 3 복사
10 10
예제 출력 3 복사
1
예제 입력 4 복사
13 8
예제 출력 4 복사
32
예제 입력 5 복사
7 2
예제 출력 5 복사
12
수들의 곱은 수들의 표준 편차가 적을 수록 곱이 커진다는 원칙을 이용하는 문제이다.
n과 k가 주어졌을 때 n / k 를 한 갯수만큼 (평균) 값을 곱해주고 n % k인 만큼 1씩 배분해서 (평균 + 1) 곱해주는 문제이다.
'Algorythms' 카테고리의 다른 글
백준 1719번 택배 c++ 풀이 (0) | 2024.01.22 |
---|---|
백준 3078번 좋은 친구 c++ 풀이 (0) | 2024.01.22 |
백준 16472번 고냥이 c++ 풀이 (0) | 2024.01.21 |
백준 14226번 이모티콘 c++ 풀이 (1) | 2024.01.21 |
백준 6118번 숨바꼭질 c++ 풀이 (1) | 2024.01.21 |