728x90
728x90
https://www.acmicpc.net/problem/1049
1049번: 기타줄
첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주
www.acmicpc.net



난이도: solved.ac 실버 4
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { int N, M, i; int min[2] = {1000, 1000}; // min[0]: 패키지 최소 가격, min[1]: 낱개 최소 가격 int six, one, sum = 0; scanf("%d %d", &N, &M); for (i = 0; i < M; i++) { scanf("%d %d", &six, &one); if (six < min[0]) min[0] = six; if (one < min[1]) min[1] = one; } if (min[1] * 6 <= min[0]) // 낱개로 다 구매하는 게 제일 싼 경우 sum = min[1] * N; else { sum = (N / 6) * min[0]; // 일단 6으로 나눈 몫만큼 패키지로 삼 if (N % 6 != 0) { // 나머지가 있는 경우 if (min[0] < min[1] * (N % 6)) // 나머지를 패키지로 사는 게 더 싼 경우 sum += min[0]; else sum += min[1] * (N % 6); // 나머지를 낱개로 나머지만큼만 사는 게 더 싼 경우 } } printf("%d", sum); return 0; }
반응형