๋ฌธ์
<๋ฌธ์ >
N(1 ≤ N ≤ 100,000)๊ฐ์ ๋กํ๊ฐ ์๋ค. ์ด ๋กํ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฐ์ ๋ฐ ๋ฌผ์ฒด๋ฅผ ๋ค์ด ์ฌ๋ฆด ์ ์๋ค. ๊ฐ๊ฐ์ ๋กํ๋ ๊ทธ ๊ตต๊ธฐ๋ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค ์ ์๋ ๋ฌผ์ฒด์ ์ค๋์ด ์๋ก ๋ค๋ฅผ ์๋ ์๋ค.
ํ์ง๋ง ์ฌ๋ฌ ๊ฐ์ ๋กํ๋ฅผ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐํ๋ฉด ๊ฐ๊ฐ์ ๋กํ์ ๊ฑธ๋ฆฌ๋ ์ค๋์ ๋๋ ์ ์๋ค. k๊ฐ์ ๋กํ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์ด w์ธ ๋ฌผ์ฒด๋ฅผ ๋ค์ด ์ฌ๋ฆด ๋, ๊ฐ๊ฐ์ ๋กํ์๋ ๋ชจ๋ ๊ณ ๋ฅด๊ฒ w/k ๋งํผ์ ์ค๋์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.
๊ฐ ๋กํ๋ค์ ๋ํ ์ ๋ณด๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋กํ๋ค์ ์ด์ฉํ์ฌ ๋ค์ด์ฌ๋ฆด ์ ์๋ ๋ฌผ์ฒด์ ์ต๋ ์ค๋์ ๊ตฌํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ชจ๋ ๋กํ๋ฅผ ์ฌ์ฉํด์ผ ํ ํ์๋ ์์ผ๋ฉฐ, ์์๋ก ๋ช ๊ฐ์ ๋กํ๋ฅผ ๊ณจ๋ผ์ ์ฌ์ฉํด๋ ๋๋ค.
<์ ๋ ฅ>
์ฒซ์งธ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ๋กํ๊ฐ ๋ฒํธ ์ ์๋ ์ต๋ ์ค๋์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 10,000์ ๋์ง ์๋ ์์ฐ์์ด๋ค.
<์ถ๋ ฅ>
์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ํ์ด
๊ฐ ๋กํ๊ฐ ๋ฒํธ ์ ์๋ ์ต๋ ์ค๋์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ๋กํ๋ฅผ 1๊ฐ๋ง ์ด์ฉํ์ ๊ฒฝ์ฐ, 2๊ฐ๋ง ์ด์ฉํ์ ๊ฒฝ์ฐ, ..., N๊ฐ ์ด์ฉํ์ ๊ฒฝ์ฐ์ ์ต๋ ์ค๋์ ๊ตฌํฉ๋๋ค. ์ด๋ ๊ฐ์ฅ ํฐ ์ต๋ ์ค๋์ด answer๊ฐ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ๋ ฌํ rope์ ์ต๋ ์ค๋์ด [15, 10, 7, 5, 5]์ผ ๊ฒฝ์ฐ
- ๋กํ 1๊ฐ ์ด์ฉ
weight = 15 * 1 = 15 - ๋กํ 2๊ฐ ์ด์ฉ
weight = 10 * 2 = 20 - ๋กํ 3๊ฐ ์ด์ฉ
weight = 7 * 3 = 21 - ๋กํ 4๊ฐ ์ด์ฉ
weight = 5 * 4 = 20 - ๋กํ 5๊ฐ ์ด์ฉ
weight = 5 * 5 = 25
๋ฐ๋ผ์ max_weight์ 25๊ฐ ๋ฉ๋๋ค.
๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์๋ functional ํค๋์ ์ ์๋์ด ์๋ greater<>()๋ฅผ ์ด์ฉํ์ต๋๋ค.
์์ค์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
//2217๋ฒ: ๋กํ
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int N, answer = 0;
int max_weight = 0;
cin >> N;
vector<int> rope(N);
for(int i = 0; i < N; i++)
cin >> rope[i];
sort(rope.begin(), rope.end(), greater<>()); //๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
for(int i = 0; i < N; i++) {
if(rope[i] * (i + 1) > max_weight)
max_weight = rope[i] * (i + 1);
}
answer = max_weight;
cout << answer;
return 0;
}
|
cs |
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค BOJ / C++] 1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2020.12.29 |
---|---|
[๋ฐฑ์ค BOJ / C++] 1138๋ฒ: ํ ์ค๋ก ์๊ธฐ (0) | 2020.12.29 |
[๋ฐฑ์ค BOJ / C++] 11399๋ฒ: ATM (0) | 2020.12.28 |
[๋ฐฑ์ค BOJ / C++] 11047๋ฒ: ๋์ 0 (0) | 2020.12.28 |
[๋ฐฑ์ค BOJ / C++] 5585๋ฒ: ๊ฑฐ์ค๋ฆ๋ ํ์ด (0) | 2020.12.28 |