티스토리 뷰
#include <iostream>
#include <algorithm>
using namespace std;
int line_set[100];
int line_single[100];
int main()
{
int n, m;
cin >> n >> m;
for (int i = 0; i < m; ++i)
cin >> line_set[i] >> line_single[i];
sort(line_set, line_set + m);
sort(line_single, line_single + m);
int ret = 0;
if (line_set[0] < line_single[0] * 6)
{
//세트로 사는게 이득
if (n % 6 == 0)
{
int num = n / 6;
ret = num * line_set[0];
}
else
{
//최대한 세트로 사고 나머지는 낱개로삼.
// 그런데 낱개 5개 vs 세트 6개 이것도 구분해야함.
int singlenum = n % 6; //낱개로 사야하는 item수
if (singlenum * line_single[0] > line_set[0])
{
//갯수는 초과되지만 세트가 더 저렴.
int num = n / 6 +1;
ret = num * line_set[0];
}
else
{
int num = n / 6;
ret = num * line_set[0];
ret += singlenum * line_single[0];
}
}
}
else
{
//낱개로 사는게 이득
ret = line_single[0] * n;
}
cout << ret;
return 0;
}
'알고리즘 > Implementation' 카테고리의 다른 글
boj) 1021 회전하는 큐 (C++) (0) | 2020.02.17 |
---|---|
boj) 5397 키로거 ( C / C++) (0) | 2020.02.15 |
boj, 백준 ) 2615 오목 (0) | 2020.01.28 |
boj, 백준 ) 17143 낚시왕 ( C / C++ ) (0) | 2020.01.08 |
BOJ) 1000. A+B (C / C++) (0) | 2019.11.12 |
댓글