[λ°±μ€] 그리λμκ³ λ¦¬μ¦ - 2217.λ‘ν
λ¬Έμ
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
|