*핵심 : 이 문제에서 핵심은 5kg 봉지가 많을 수록 좋다는 것이다.
따라서 우선, 가능한 최대의 5kg 봉지를 구하고 남은 설탕이 3kg봉지로 담을 수 있는 지 보는 것이 중요하다. 이때 3kg 봉지로 담을 수 있다면, 바로 봉지의 수를 구할 수 있다. 단, 3kg 봉지로 담을 수 없다면 앞서 구한 가능한 최대의 5kg 봉지의 수를 1씩 줄여가며 3kg봉지로 담을 수 있는 지를 체크한다. 이 반복 과정은 5kg 봉투에 담고 남은 설탕이 3kg 봉투로 담을 수 있을 때나, 5kg 봉투가 -1일때 종료된다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int m = 0;
scanf(" %d", &m);
int max5 = m/5;
int max3 = 0;
while (1) {
if ((m - 5*max5) % 3 == 0) {
max3 = (m - 5*max5) / 3;
printf("%d", max3 + max5);
break;
}
else {
max5--;
if (max5 == -1) {
printf("%d", -1);
break;
}
}
}
return 0;
}
'5_BAEKJOON' 카테고리의 다른 글
5 BAEKJOON) 유클리드 호제법 (0) | 2022.11.15 |
---|---|
5 BAEKJOON) 백준1010 : 다리 놓기 (0) | 2022.11.07 |
5 BAEKJOON) 백준 14681 : 사분면 고르기 (0) | 2022.11.07 |
5 BAEKJOON) 백준 10828 : 스택 (0) | 2022.11.07 |
5 BAEKJOON) 백준 : Stack에 대해 (0) | 2022.11.06 |