Algorithm/📖Baekjoon
#1049 기타줄
yewoneeee
2022. 6. 12. 15:51
# 문제
# 입력 및 출력
# 풀이
간단한 문제다
dp문젠가 했는데 시간이 넉넉해서 그리디로 풀었음
패키지 가격 중 최소 패키지 가격과 낱개 가격 중 최소 낱개 가격을 price 배열에 저장해둔다
그리고 패키지만으로 계산, 패키지+낱개로 계산, 낱개만으로 계산 이 세가지 방법 중 최소 가격을 찾는다
#include <iostream>
#include <algorithm>
using namespace std;
int minv[2] = { 10000,10000 };
int price[2];
int main() {
int n, m, result;
cin >> n >> m;
for (int i = 0; i < m; i++) {
cin >> price[0] >> price[1];
minv[0] = min(minv[0], price[0]);
minv[1] = min(minv[1], price[1]);
}
result = min({ (n / 6 + 1)*minv[0], (n / 6)*minv[0] + (n % 6)*minv[1], n*minv[1] });
cout << result;
}
가격이 1000이하이고 n이 100이하이므로 처음 최소값은 10000으로 설정해줌