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으로 설정해줌