-
[백준 1409] 기타줄백준/그리디 2023. 7. 11. 00:39
우선 각각 최소 최소로 사는 경우가 가장 일반적인 답인데
예외케이스가 존재함
항상 그리디 풀때는 일단 전제조건을 찾고 막턴 케이스를 생각해줘야함
6의 나머지만큼을 그냥 패키지로 샀을때 더 저렴할 수도 있고
패키지를 안사고 그냥 전부 다 낱개로 샀을때 더 저렴할 수도 있음
그래서 그거 마지막에 비교 해주면 됨
참고로 마지막에 x y z해서 비교하는거 더 줄이는 방법없나
더러워보인다...
#include <iostream> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N, M; cin >> N >> M; int min_p, min_s; min_p = min_s = 1001; int p, s; for (int i = 0; i < M; i++) { cin >> p >> s; min_p = min(min_p, p); min_s = min(min_s, s); } int x = min_p * (N / 6) + min_s * (N % 6); int y = min_p * (N / 6 + 1); int z = min_s * N; cout << min(x, min(y, z)); return 0; }
'백준 > 그리디' 카테고리의 다른 글
[백준 2885] 초콜릿 식사 (1) 2024.01.08 [백준 16237] 이삿짐센터 (0) 2023.11.11 [백준 11000] 강의실 배정 (1) 2023.11.11 [백준 2839] 설탕 배달 (2) 2023.07.10 [백준] 3213 피자 (0) 2023.02.07