https://www.acmicpc.net/problem/1417
λ¬Έμ
λ€μμ΄λ μ¬λμ λ§μμ μ½μ μ μλ κΈ°κ³λ₯Ό κ°μ§κ³ μλ€. λ€μμ΄λ μ΄ κΈ°κ³λ₯Ό μ΄μ©ν΄μ 2008λ 4μ 9μΌ κ΅νμμ μ κ±°λ₯Ό μ‘°μνλ €κ³ νλ€.
λ€μμ΄μ κΈ°κ³λ κ° μ¬λλ€μ΄ λꡬλ₯Ό μ°μ μ§ λ―Έλ¦¬ μ½μ μ μλ€. μ΄λ€ μ¬λμ΄ λꡬλ₯Ό μ°μ μ§ μ νμΌλ©΄, λ°λμ μ κ±°λ κ·Έ μ¬λμ μ°λλ€.
νμ¬ ννꡬμ λμ¨ κ΅νμμ ν보λ Nλͺ μ΄λ€. λ€μμ΄λ μ΄ κΈ°κ³λ₯Ό μ΄μ©ν΄μ κ·Έ λ§μμ μ£Όλ―Ό Mλͺ μ λ§μμ λͺ¨λ μ½μλ€.
λ€μμ΄λ κΈ°νΈ 1λ²μ΄λ€. λ€μμ΄λ μ¬λλ€μ λ§μμ μ½μ΄μ μμ μ μ°μ§ μμΌλ €λ μ¬λμ λμΌλ‘ 맀μν΄μ κ΅νμμμ λΉμ μ΄ λκ² νλ €κ³ νλ€. λ€λ₯Έ λͺ¨λ μ¬λμ λνμ λ³΄λ€ λ§μ λνμλ₯Ό κ°μ§ λ, κ·Έ μ¬λμ΄ κ΅νμμμ λΉμ λλ€.
μλ₯Ό λ€μ΄μ, λ§μμ μ½μ κ²°κ³Ό κΈ°νΈ 1λ²μ΄ 5ν, κΈ°νΈ 2λ²μ΄ 7ν, κΈ°νΈ 3λ²μ΄ 7ν λΌκ³ νλ€λ©΄, λ€μμ΄λ 2λ² ν보λ₯Ό μ°μΌλ €κ³ νλ μ¬λ 1λͺ κ³Ό, 3λ² ν보λ₯Ό μ°μΌλ €κ³ νλ μ¬λ 1λͺ μ λμΌλ‘ 맀μνλ©΄, κ΅νμμμ λΉμ μ΄ λλ€.
λμΌλ‘ 맀μν μ¬λμ λ°λμ λ€μμ΄λ₯Ό μ°λλ€κ³ κ°μ νλ€.
λ€μμ΄κ° 맀μν΄μΌνλ μ¬λμ μ΅μκ°μ μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ ν보μ μ Nμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° μ°¨λ‘λλ‘ κΈ°νΈ 1λ²μ μ°μΌλ €κ³ νλ μ¬λμ μ, κΈ°νΈ 2λ²μ μ°μΌλ €κ³ νλ μ, μ΄λ κ² μ΄ Nκ°μ μ€μ κ±Έμ³ μ λ ₯μ΄ λ€μ΄μ¨λ€. Nμ 50λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄κ³ , λνμλ 100λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ λ€μμ΄κ° 맀μν΄μΌ νλ μ¬λμ μ΅μκ°μ μΆλ ₯νλ€.
μ€λ²5.
κ°μ₯ νκ° λ§μ μ¬λμκ²μ νλ₯Ό λΊμ΄μ€λ μκ³ λ¦¬μ¦μ λ μ¬λ¦΄ μλ§ μλ€λ©΄,
μ°μ μμνλ‘ νΈλ λ°©λ²μ΄ κ°μ₯ κ°λ¨νλ€.
λμ νμ΄
#include <iostream>
#include <string>
#include <queue>
#include <vector>
using namespace std;
int main(){
int n;
priority_queue<int> pq; // topκ°μ΄ κ°μ₯ νΌ
int x;
int ans = 0;
cin >> n;
if(n<=1) {
cout << 0;
return 0;
}
int first;
cin >> first;
for (int i = 1; i < n; ++i){
cin >> x;
pq.push(x);
}
while(pq.top() >= first && !pq.empty()){
int tmp = pq.top();
pq.pop();
tmp -= 1;
pq.push(tmp);
ans++;
first++;
}
cout << ans;
return 0;
}
'π μκ³ λ¦¬μ¦ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++/BOJ] 1325 : ν¨μ¨μ μΈ ν΄νΉ (BFS/DFS) (1) | 2023.05.14 |
---|---|
[C++/BOJ] 1012 : μ κΈ°λ λ°°μΆ (BFS/DFS) (0) | 2023.05.12 |
[C++/BOJ] 9012 : κ΄νΈ (μλ£κ΅¬μ‘°) (1) | 2023.05.06 |
[C++/BOJ] 11286 : μ λκ° ν (μλ£κ΅¬μ‘°) (0) | 2023.05.02 |
[C++/BOJ] 5430 : AC (μλ£κ΅¬μ‘°) (0) | 2023.05.02 |