λ¬Έμ
N(1 ≤ N ≤ 100,000)κ°μ λ‘νκ° μλ€. μ΄ λ‘νλ₯Ό μ΄μ©νμ¬ μ΄λ° μ λ° λ¬Όμ²΄λ₯Ό λ€μ΄μ¬λ¦΄ μ μλ€. κ°κ°μ λ‘νλ κ·Έ κ΅΅κΈ°λ κΈΈμ΄κ° λ€λ₯΄κΈ° λλ¬Έμ λ€ μ μλ 물체μ μ€λμ΄ μλ‘ λ€λ₯Ό μλ μλ€.
νμ§λ§ μ¬λ¬ κ°μ λ‘νλ₯Ό λ³λ ¬λ‘ μ°κ²°νλ©΄ κ°κ°μ λ‘νμ 걸리λ μ€λμ λλ μ μλ€. kκ°μ λ‘νλ₯Ό μ¬μ©νμ¬ μ€λμ΄ wμΈ λ¬Όμ²΄λ₯Ό λ€μ΄μ¬λ¦΄ λ, κ°κ°μ λ‘νμλ λͺ¨λ κ³ λ₯΄κ² w/k λ§νΌμ μ€λμ΄ κ±Έλ¦¬κ² λλ€.
κ° λ‘νλ€μ λν μ λ³΄κ° μ£Όμ΄μ‘μ λ, μ΄ λ‘νλ€μ μ΄μ©νμ¬ λ€μ΄μ¬λ¦΄ μ μλ 물체μ μ΅λ μ€λμ ꡬν΄λ΄λ νλ‘κ·Έλ¨μ μμ±νμμ€. λͺ¨λ λ‘νλ₯Ό μ¬μ©ν΄μΌ ν νμλ μμΌλ©°, μμλ‘ λͺ κ°μ λ‘νλ₯Ό 골λΌμ μ¬μ©ν΄λ λλ€.
μ λ ₯
첫째 μ€μ μ μ Nμ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ κ° λ‘νκ° λ²νΈ μ μλ μ΅λ μ€λμ΄ μ£Όμ΄μ§λ€. μ΄ κ°μ 10,000μ λμ§ μλ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ λ΅μ μΆλ ₯νλ€.
νμ΄
λ‘νλ₯Ό nκ° μ¬μ©νλ€κ³ κ°μ νλ©΄ κ°μ₯ νμ€μ΄ μ μ λ‘νμ νμ€ a*nμ 무κ²λ₯Ό λ²νΈ μ μλ€
μλ₯Ό λ€μ΄ 10, 20, 30, 40μ λ‘νλ₯Ό μ¬μ©νλ€λ©΄
1κ°λ§ μ¬μ© -> 40 νκ° -> 40 * 1 = 40
2κ°λ§ μ¬μ© -> 40κ³Ό 30 -> 30*2 = 60
3κ°λ§ μ¬μ© -> 40κ³Ό 30κ³Ό 20 -> 20*3 = 60
4κ° λ€ μ¬μ© -> 40κ³Ό 30κ³Ό 20κ³Ό 10 -> 10*4 = 40
μ΄λ―λ‘ 2κ°λ 3κ°λ§ μ¬μ©ν΄μΌνλ κ²μ΄λ€
λ°λΌμ μ£Όμ΄μ§ λ‘ν μ€ nκ° μ¬μ©, n-1κ° μ¬μ©, n-2κ° μ¬μ©νλ κ²½μ° λ²νΈ μ μλ 무κ²λ₯Ό ꡬν΄μ μ΅λκ°μ ꡬνλ©΄ λλ€
λ‘νλ₯Ό νμ€ μμλλ‘ μ λ ¬ν λ€ λ°λ³΅λ¬Έμ μ΄μ©ν΄μ κ°λ¨νκ² νμ΄λ΄μ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> v(n);
for(int i=0; i<n; i++) {
cin >> v[i];
}
int ans = 0;
sort(v.begin(), v.end());
for(int i=0; i<n; i++) {
ans = max(ans, v[i]*(n-i));
}
cout << ans;
}
'π Cpp' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 1004λ²: μ΄λ¦° μμ (0) | 2024.08.12 |
---|---|
[BOJ][C++] λ°±μ€ 2636λ²: μΉμ¦ (0) | 2024.04.11 |
[BOJ][C++] λ°±μ€ 1485λ²: κ°λ‘μ (0) | 2024.03.13 |
[BOJ][C++] λ°±μ€ 15686λ²: μΉν¨λ°°λ¬ (0) | 2024.03.11 |
[BOJ][C++] λ°±μ€ 1037λ²: μ½μ (0) | 2024.03.08 |