
๋ฌธ์
Day Of Mourning์ ๊ธฐํ๋ฆฌ์คํธ ๊ฐํ ๊ฐ ์ฌ์ฉํ๋ ๊ธฐํ์์ N๊ฐ์ ์ค์ด ๋์ด์ก๋ค. ๋ฐ๋ผ์ ์๋ก์ด ์ค์ ์ฌ๊ฑฐ๋ ๊ต์ฒดํด์ผ ํ๋ค. ๊ฐํ ๋ ๋๋๋ก์ด๋ฉด ๋์ ์ ๊ฒ ์ฐ๋ ค๊ณ ํ๋ค. 6์ค ํจํค์ง๋ฅผ ์ด ์๋ ์๊ณ , 1๊ฐ ๋๋ ๊ทธ ์ด์์ ์ค์ ๋ฑ๊ฐ๋ก ์ด ์๋ ์๋ค.
๋์ด์ง ๊ธฐํ์ค์ ๊ฐ์ N๊ณผ ๊ธฐํ์ค ๋ธ๋๋ M๊ฐ๊ฐ ์ฃผ์ด์ง๊ณ , ๊ฐ๊ฐ์ ๋ธ๋๋์์ ํ๋ ๊ธฐํ์ค 6๊ฐ๊ฐ ๋ค์ด์๋ ํจํค์ง์ ๊ฐ๊ฒฉ, ๋ฑ๊ฐ๋ก ์ด ๋์ ๊ฐ๊ฒฉ์ด ์ฃผ์ด์ง ๋, ์ ์ด๋ N๊ฐ๋ฅผ ์ฌ๊ธฐ ์ํด ํ์ํ ๋์ ์๋ฅผ ์ต์๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๊ฐ ๋ธ๋๋์ ํจํค์ง ๊ฐ๊ฒฉ๊ณผ ๋ฑ๊ฐ์ ๊ฐ๊ฒฉ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฒฉ์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ธฐํ์ค์ ์ ์ด๋ N๊ฐ ์ฌ๊ธฐ ์ํด ํ์ํ ๋์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1 ๋ณต์ฌ
4 2
12 3
15 4
์์ ์ถ๋ ฅ 1 ๋ณต์ฌ
12
์์ ์ ๋ ฅ 2 ๋ณต์ฌ
10 3
20 8
40 7
60 4
์์ ์ถ๋ ฅ 2 ๋ณต์ฌ
36
์์ ์ ๋ ฅ 3 ๋ณต์ฌ
15 1
100 40
์์ ์ถ๋ ฅ 3 ๋ณต์ฌ
300
์์ ์ ๋ ฅ 4 ๋ณต์ฌ
17 1
12 3
์์ ์ถ๋ ฅ 4 ๋ณต์ฌ
36
์์ ์ ๋ ฅ 5 ๋ณต์ฌ
7 2
10 3
12 2
์์ ์ถ๋ ฅ 5 ๋ณต์ฌ
12
์์ ์ ๋ ฅ 6 ๋ณต์ฌ
9 16
21 25
77 23
23 88
95 43
96 19
59 36
80 13
51 24
15 8
25 61
21 22
3 9
68 68
67 100
83 98
96 57
์์ ์ถ๋ ฅ 6 ๋ณต์ฌ
6
ํ์ด๊ณผ์
๊ตฌ๋งคํด์ผํ๋ ๊ธฐํ์ค n๊ฐ๊ฐ ์๋๋ฐ ์ด๋ป๊ฒ ๊ตฌ๋งค๋ฅผ ํด์ผ ์ต์๊ฐ์ผ๋ก ๊ตฌ๋งค๋ฅผ ํ ์ ์๋๊ฐ. (6๊ฐ ๋ฌถ์ s, 1๊ฐ o)
๋ผ๋ ๋ฌธ์ ๋ก ๋ฌธ์ ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์์ฒด๋ ๊ทธ๊ฒ ์ด๋ ต์ง์๊ฒ ์ ๊ทผ์ ํ ์ ์์๋ค.
๊ฐ์ฅ ๊ณ ๋ฏผ์ด ๋ง์ด ๋์๋ ๋ถ๋ถ์ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์์ฑํด์ผ ๋ณด๊ธฐ์ฝ๊ณ ๊ตฐ๋๋๊ธฐ ์์ด ์ ๊ทผํ ์ ์๋์ง๋ฅผ ๊ณ ๋ฏผ์ ๋ง์ดํ๋ ๊ฑฐ ๊ฐ๋ค.
code
#include <iostream>
int main(void)
{
int n, m, s, o, six_min, one_min, money;
std::cin >> n >> m;
six_min = 1001;
one_min = 1001;
for(int i = 0; i < m; i++) {
std:: cin >> s >> o;
if (six_min > s) six_min = s;
if (one_min > o) one_min = o;
}
if (six_min > one_min * 6) six_min = one_min * 6;
money = (n / 6) * six_min;
if (six_min < n % 6 * one_min) money += six_min;
else money += n % 6 * one_min;
std::cout << money;
return (0);
}


ํ๊ธฐ
์ฝ๋๋ฅผ ์ง๋ฉด ์งค์๋ก ๊ฐ์ ์ฝ๋๋ผ๋ ์ด๋ป๊ฒ ํด์ผ ๊ฐ๋ ์ฑ์ข๊ณ , ํจ์จ์ฑ์ด ์ข๊ฒ ์์ฑํ ์ ์์๊น๋ฅผ ๊ณ ๋ฏผ๋ง์ดํ๊ฒ ๋๋ ๊ฑฐ ๊ฐ๋ค.
'Algorithm > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14501๋ฒ - ํด์ฌ, 15486๋ฒ - ํด์ฌ 2 (C++) (1) | 2023.07.10 |
---|---|
[๋ฐฑ์ค] 1057๋ฒ - ํ ๋๋จผํธ (C++) (0) | 2023.07.09 |
[๋ฐฑ์ค] 7795๋ฒ - ๋จน์ ๊ฒ์ธ๊ฐ ๋จนํ ๊ฒ์ธ๊ฐ (C++) (0) | 2023.07.07 |
[๋ฐฑ์ค] 2193๋ฒ - ์ด์น์ (C++) (0) | 2023.07.06 |
[๋ฐฑ์ค] 1912๋ฒ - ์ฐ์ํฉ (C++) (0) | 2023.07.06 |

๋ฌธ์
Day Of Mourning์ ๊ธฐํ๋ฆฌ์คํธ ๊ฐํ ๊ฐ ์ฌ์ฉํ๋ ๊ธฐํ์์ N๊ฐ์ ์ค์ด ๋์ด์ก๋ค. ๋ฐ๋ผ์ ์๋ก์ด ์ค์ ์ฌ๊ฑฐ๋ ๊ต์ฒดํด์ผ ํ๋ค. ๊ฐํ ๋ ๋๋๋ก์ด๋ฉด ๋์ ์ ๊ฒ ์ฐ๋ ค๊ณ ํ๋ค. 6์ค ํจํค์ง๋ฅผ ์ด ์๋ ์๊ณ , 1๊ฐ ๋๋ ๊ทธ ์ด์์ ์ค์ ๋ฑ๊ฐ๋ก ์ด ์๋ ์๋ค.
๋์ด์ง ๊ธฐํ์ค์ ๊ฐ์ N๊ณผ ๊ธฐํ์ค ๋ธ๋๋ M๊ฐ๊ฐ ์ฃผ์ด์ง๊ณ , ๊ฐ๊ฐ์ ๋ธ๋๋์์ ํ๋ ๊ธฐํ์ค 6๊ฐ๊ฐ ๋ค์ด์๋ ํจํค์ง์ ๊ฐ๊ฒฉ, ๋ฑ๊ฐ๋ก ์ด ๋์ ๊ฐ๊ฒฉ์ด ์ฃผ์ด์ง ๋, ์ ์ด๋ N๊ฐ๋ฅผ ์ฌ๊ธฐ ์ํด ํ์ํ ๋์ ์๋ฅผ ์ต์๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๊ฐ ๋ธ๋๋์ ํจํค์ง ๊ฐ๊ฒฉ๊ณผ ๋ฑ๊ฐ์ ๊ฐ๊ฒฉ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฒฉ์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ธฐํ์ค์ ์ ์ด๋ N๊ฐ ์ฌ๊ธฐ ์ํด ํ์ํ ๋์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1 ๋ณต์ฌ
4 2
12 3
15 4
์์ ์ถ๋ ฅ 1 ๋ณต์ฌ
12
์์ ์ ๋ ฅ 2 ๋ณต์ฌ
10 3
20 8
40 7
60 4
์์ ์ถ๋ ฅ 2 ๋ณต์ฌ
36
์์ ์ ๋ ฅ 3 ๋ณต์ฌ
15 1
100 40
์์ ์ถ๋ ฅ 3 ๋ณต์ฌ
300
์์ ์ ๋ ฅ 4 ๋ณต์ฌ
17 1
12 3
์์ ์ถ๋ ฅ 4 ๋ณต์ฌ
36
์์ ์ ๋ ฅ 5 ๋ณต์ฌ
7 2
10 3
12 2
์์ ์ถ๋ ฅ 5 ๋ณต์ฌ
12
์์ ์ ๋ ฅ 6 ๋ณต์ฌ
9 16
21 25
77 23
23 88
95 43
96 19
59 36
80 13
51 24
15 8
25 61
21 22
3 9
68 68
67 100
83 98
96 57
์์ ์ถ๋ ฅ 6 ๋ณต์ฌ
6
ํ์ด๊ณผ์
๊ตฌ๋งคํด์ผํ๋ ๊ธฐํ์ค n๊ฐ๊ฐ ์๋๋ฐ ์ด๋ป๊ฒ ๊ตฌ๋งค๋ฅผ ํด์ผ ์ต์๊ฐ์ผ๋ก ๊ตฌ๋งค๋ฅผ ํ ์ ์๋๊ฐ. (6๊ฐ ๋ฌถ์ s, 1๊ฐ o)
๋ผ๋ ๋ฌธ์ ๋ก ๋ฌธ์ ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์์ฒด๋ ๊ทธ๊ฒ ์ด๋ ต์ง์๊ฒ ์ ๊ทผ์ ํ ์ ์์๋ค.
๊ฐ์ฅ ๊ณ ๋ฏผ์ด ๋ง์ด ๋์๋ ๋ถ๋ถ์ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์์ฑํด์ผ ๋ณด๊ธฐ์ฝ๊ณ ๊ตฐ๋๋๊ธฐ ์์ด ์ ๊ทผํ ์ ์๋์ง๋ฅผ ๊ณ ๋ฏผ์ ๋ง์ดํ๋ ๊ฑฐ ๊ฐ๋ค.
code
#include <iostream>
int main(void)
{
int n, m, s, o, six_min, one_min, money;
std::cin >> n >> m;
six_min = 1001;
one_min = 1001;
for(int i = 0; i < m; i++) {
std:: cin >> s >> o;
if (six_min > s) six_min = s;
if (one_min > o) one_min = o;
}
if (six_min > one_min * 6) six_min = one_min * 6;
money = (n / 6) * six_min;
if (six_min < n % 6 * one_min) money += six_min;
else money += n % 6 * one_min;
std::cout << money;
return (0);
}


ํ๊ธฐ
์ฝ๋๋ฅผ ์ง๋ฉด ์งค์๋ก ๊ฐ์ ์ฝ๋๋ผ๋ ์ด๋ป๊ฒ ํด์ผ ๊ฐ๋ ์ฑ์ข๊ณ , ํจ์จ์ฑ์ด ์ข๊ฒ ์์ฑํ ์ ์์๊น๋ฅผ ๊ณ ๋ฏผ๋ง์ดํ๊ฒ ๋๋ ๊ฑฐ ๊ฐ๋ค.
'Algorithm > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14501๋ฒ - ํด์ฌ, 15486๋ฒ - ํด์ฌ 2 (C++) (1) | 2023.07.10 |
---|---|
[๋ฐฑ์ค] 1057๋ฒ - ํ ๋๋จผํธ (C++) (0) | 2023.07.09 |
[๋ฐฑ์ค] 7795๋ฒ - ๋จน์ ๊ฒ์ธ๊ฐ ๋จนํ ๊ฒ์ธ๊ฐ (C++) (0) | 2023.07.07 |
[๋ฐฑ์ค] 2193๋ฒ - ์ด์น์ (C++) (0) | 2023.07.06 |
[๋ฐฑ์ค] 1912๋ฒ - ์ฐ์ํฉ (C++) (0) | 2023.07.06 |