[BOJ] 보μ μμ(2792)
[λ°±μ€(BOJ)] 보μ μμ(2792) C++
λ¬Έμ : BOJ_2792λ² λ³΄μ μμ
λ¬Έμ μ€λͺ
μ΄λΆνμ
μ΄λΆ νμμΌλ‘ ν΄κ²°ν μ μλ λ¬Έμ μ
λλ€.
μ¬λ μ Nμ΄ μκ³ , 보μμ μ’
λ₯ μ Mμ΄ μμ΅λλ€.
ν μ¬λμκ²λ ν μ’
λ₯μ 보μμ λλ μ€ μ μκ³ , λͺ¨λ μ¬λμκ² λ³΄μμ μ€ νμλ μμ§λ§, λͺ¨λ 보μμ λλμ΄μ€μΌ ν©λλ€.
μ΄λ, 보μμ κ°μ₯ λ§μ΄ κ°κ³ μλ μ¬λμ 보μ μλ₯Ό μ§ν¬μ¬μ΄λΌκ³ ν λ, μ§ν¬μ¬μ μ΅μκ°μ ꡬνλ λ¬Έμ μ
λλ€.
Solution
μ§ν¬μ¬μ μ΅μλ‘ νλ €λ©΄, 보μμ μ’
λ₯μ μκ΄μμ΄, N λͺ
μ΄ λμ΄κ°μ§ μμΌλ©΄μ, ν νμμκ² λλμ΄μ€ μ μλ 보μμ μμ μ΅μκ°μ ꡬν΄μΌ ν©λλ€.
κ·Έλ¬λ―λ‘, 보μ μλ₯Ό μ¦κ°μν€λ©΄μ, λͺ¨λ 보μμ Nλͺ
μ΄νμ νμμκ² λλ μ€ μ μλμ§λ₯Ό μ΄λΆ νμμ ν΅ν΄ μ°ΎμμΌ ν©λλ€.
μ΄λ κ² μ°Ύμ λλ μ£Όλ 보μ μκ° μ΅μμ μ§ν¬μ¬μ΄ λ©λλ€.
Description
Nλͺ μ κ³μ°ν λ, 보μμ μμ λλ μ£Όλ 보μμ μκ° λλμ΄λ¨μ΄μ§μ§ μλλ€λ©΄, μΉ΄μ΄νΈμ 1μ λν΄μ£Όμ΄μΌ ν©λλ€.
#include <iostream>
#include <vector>
using namespace std;
int N, M, num,result;
vector<int> adj;
int main(void) {
cin >> N >> M;
for (int i = 0; i < M; i++) {
int value;
cin >> value;
adj.push_back(value);
}
int le = 1;
int ri = 1000000001;
while (le <= ri) {
int mid = (le + ri) / 2;
long long cnt = 0;
for (int i = 0; i < M; i++) {
cnt += (adj[i] / mid);
if (adj[i] % mid) cnt += 1;
// λλμ΄ λ¨μ΄μ§μ§ μμΌλ©΄ +1
}
if (cnt <= N) {
result = mid;
ri = mid - 1;
}
else le = mid + 1;
}
cout << result<< '\n';
return 0;
}