-
[백준/BOJ] 1049번 기타줄 (C++)알고리즘 문제풀이/백준 2020. 12. 12. 01:41
간단한 수학(?) + 구현 문제입니다.
패키지와 단품 가격의 최소값을 구해 따로 저장하고 이를 이용하여 다음과 같이 가격을 구합니다.
1. 단품만 구매하는 경우
2. 단품 + 패키지를 구매하는 경우
3. 패키지만 구매하는 경우
세 가격 중 최소값을 구하면 됩니다.#include <iostream> using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin>>n>>m; // 패키지와 단품 가격의 최소값을 저장할 변수 int minPackage = 2147000000, minSingle = 2147000000; for(int i = 0; i < m; i++) { int package, single; cin>>package>>single; minPackage = min(minPackage, package); minSingle = min(minSingle, single); } // 단품 int tmp1 = n * minSingle; // 단품 + 패키지 int tmp2 = (n / 6) * minPackage + (n % 6) * minSingle; // 패키지 int tmp3 = (n / 6 + 1) * minPackage; cout<<min(tmp3, min(tmp1, tmp2)); }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 10989번 수 정렬하기 3 (C++) (0) 2020.12.13 [백준/BOJ] 2469번 사다리 타기 (C++) (0) 2020.12.12 [백준/BOJ] 3085번 사탕 게임 (C++) (0) 2020.12.11 [백준/BOJ] 10994번 별 찍기 - 19 (C++) (0) 2020.12.11 [백준/BOJ] 2448번 별 찍기 - 11 (C++) (0) 2020.12.11