반응형
-문제
1. 세트가격의 최솟값은 세트가격들과 (낱개가격 * 6)에서 최솟값 찾기
2. 낱개가격의 최솟값은 낱개가격들에서 최솟값 찾기
3. 세트가격으로 살 수 있을 만큼 구매하고(q개), 남은 개수(r개)는 세트가격과 (낱개가격 * r)가격 비교해서 최솟값으로 선택하기
-코드
#include<stdio.h>
using namespace std;
int main() {
int n, m, tmp1=0, tmp2=0, setMin = 1000, oneMin = 1000, sum =0 ;
scanf("%d %d", &n, &m);
for (int i = 0; i < m; i++)
{
scanf("%d %d", &tmp1, &tmp2);
if (tmp1 < setMin) setMin = tmp1;
if (tmp2 < oneMin) oneMin = tmp2;
if (setMin > tmp2 * 6) setMin = tmp2 * 6;
}
int q = n / 6;
int r = n % 6;
if ((r * oneMin) > setMin) sum = (q + 1) * setMin;
else sum = q * setMin + r * oneMin;
printf("%d",sum);
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 1339번 단어수학 (그리디 알고리즘) (0) | 2022.08.18 |
---|---|
[백준] 1744번 수 묶기 [그리디 알고리즘] (0) | 2022.08.18 |
[백준] 1715번 카드 정렬하기 (그리디 알고리즘, 우선순위큐) (0) | 2022.08.09 |
[백준] 1520번 내리막 길 (DFS + DP) (0) | 2022.08.08 |
[백준] 1987번 알파벳 (DFS) (0) | 2022.08.08 |