#include <iostream>
using namespace std;
#define MAX_PRICE 1000
int main()
{
ios::sync_with_stdio(0), cin.tie(0);
int N, M; cin >> N >> M;
int P = MAX_PRICE, I = MAX_PRICE;
int p, i;
while (M--)
{
cin >> p >> i;
if (p < P) P = p;
if (i < I) I = i;
}
//낱개가 가성비가 제일 좋으면
if (I * 6 <= P) cout << I * N;
//패키지가 더 가성비가 좋으면
else
{
//패키지를 사고 남은 기타줄
int remainI = I * (N % 6);
cout << P * (N / 6) + ((P < remainI) ? P : remainI);
}
return 0;
}
||사고 과정
브랜드 개수만큼 각 가격이 있지만 사실 사용되는건
패키지에서 가장싼것 한개, 낱개에서 가장싼것 한개 이렇게 사용이 되지 않을까 생각을 해서
정렬하지 않고 문제를 풀 수 있을것 같아 테스트케이스에 대입 해보았는데 다 잘 되길래
정렬 과정을 넘기고 최소 값만 받아 풀었다.
||나아 진것
- 테스트 케이스 다 확인 해 본것
다 확인해서 내가 예상했던 예외가 맞는지 확인하여 더 수월하게 풀었다.
- 크기 고려해본것
최대가격에 최대개수를 곱하여 자료형의 크기도 계산했다. 굿굿
'코딩 테스트 > 알고리즘 풀이' 카테고리의 다른 글
| [백준 - 1149] RGB거리 (0) | 2022.08.13 |
|---|---|
| [백준 - 2579] 계단 오르기 (0) | 2022.08.13 |
| [백준 - 1463] 1로 만들기 (0) | 2022.08.12 |
| [백준 - 1012] 유기농 배추 (0) | 2022.08.12 |
| [코드포스 - 1428B] Belted Rooms (0) | 2022.08.12 |
| [코드포스 - 1705A] Mark the Photographer (0) | 2022.08.11 |
| [코드포스 - 1714C] Minimum Varied Number (0) | 2022.08.10 |
| [백준 - 24479] 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.08.10 |