๐ป
[๋ฐฑ์ค] ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ - 2217.๋กํ ๋ณธ๋ฌธ
[๋ฐฑ์ค] ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ - 2217.๋กํ
๋ํจ๋ 2020. 3. 14. 20:45๋ฌธ์
N(1≤N≤100,000)๊ฐ์ ๋กํ๊ฐ ์๋ค. ์ด ๋กํ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฐ ์ ๋ฐ ๋ฌผ์ฒด๋ฅผ ๋ค์ด์ฌ๋ฆด ์ ์๋ค. ๊ฐ๊ฐ์ ๋กํ๋ ๊ทธ ๊ตต๊ธฐ๋ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค ์ ์๋ ๋ฌผ์ฒด์ ์ค๋์ด ์๋ก ๋ค๋ฅผ ์๋ ์๋ค.
ํ์ง๋ง ์ฌ๋ฌ ๊ฐ์ ๋กํ๋ฅผ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐํ๋ฉด ๊ฐ๊ฐ์ ๋กํ์ ๊ฑธ๋ฆฌ๋ ์ค๋์ ๋๋ ์ ์๋ค. k๊ฐ์ ๋กํ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์ด w์ธ ๋ฌผ์ฒด๋ฅผ ๋ค์ด์ฌ๋ฆด ๋, ๊ฐ๊ฐ์ ๋กํ์๋ ๋ชจ๋ ๊ณ ๋ฅด๊ฒ w/k ๋งํผ์ ์ค๋์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.
๊ฐ ๋กํ๋ค์ ๋ํ ์ ๋ณด๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋กํ๋ค์ ์ด์ฉํ์ฌ ๋ค์ด์ฌ๋ฆด ์ ์๋ ๋ฌผ์ฒด์ ์ต๋ ์ค๋์ ๊ตฌํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ชจ๋ ๋กํ๋ฅผ ์ฌ์ฉํด์ผ ํ ํ์๋ ์์ผ๋ฉฐ, ์์๋ก ๋ช ๊ฐ์ ๋กํ๋ฅผ ๊ณจ๋ผ์ ์ฌ์ฉํด๋ ๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ๋กํ๊ฐ ๋ฒํธ ์ ์๋ ์ต๋ ์ค๋์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 10,000์ ๋์ง ์๋ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ1
2
10
15
์์ ์ถ๋ ฅ1
20
์๊ฐ
sort(W, W+N, greater<int>());
greater<int>()์ฌ์ฉํ๋ฉด ํจ์ ์ ์ ํ์ง ์์๋ ๋๋ค.
์์ฑํ ์ฝ๋
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
32
33
34
35
36
37
38
39
|
#include <iostream>
#include <algorithm>
using namespace std;
bool desc(int a, int b){
return a > b;
}
int main(int argc, const char * argv[]) {
// insert code here...
ios::sync_with_stdio(false);
cin.tie(NULL);
int N;
cin >> N;
int W[N];
// ๊ฐ ๋กํ๊ฐ ๋ฒํธ ์ ์๋ ์ต๋ ์ค๋
for(int i=0; i<N; i++){
cin >> W[i];
}
sort(W, W+N, desc); // ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
int ans = 0;
for(int i=0; i<N; i++){
W[i] = W[i] * (i+1);
if(ans < W[i]){
ans = W[i];
}
}
cout << ans << "\n";
return 0;
}
Colored by Color Scripter
|
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ๋์ ํ๋ก๊ทธ๋๋ฐ - 1463. 1๋ก ๋ง๋ค๊ธฐ (0) | 2020.03.16 |
---|---|
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 14891. ํฑ๋๋ฐํด (0) | 2020.03.15 |
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 2164. ์นด๋2 (0) | 2020.03.13 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 2210. ์ซ์ํ ์ ํ (0) | 2020.03.08 |
[๋ฐฑ์ค] DFS์BFS - 2583. ์์ญ ๊ตฌํ๊ธฐ(BFSํ์ด) (0) | 2020.03.08 |