π λ¬Έμ λ§ν¬
https://www.acmicpc.net/problem/1417
1417λ²: κ΅νμμ μ κ±°
첫째 μ€μ ν보μ μ Nμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° μ°¨λ‘λλ‘ κΈ°νΈ 1λ²μ μ°μΌλ €κ³ νλ μ¬λμ μ, κΈ°νΈ 2λ²μ μ°μΌλ €κ³ νλ μ, μ΄λ κ² μ΄ Nκ°μ μ€μ κ±Έμ³ μ λ ₯μ΄ λ€μ΄μ¨λ€. Nμ 50λ³΄λ€ μκ±°λ κ°
www.acmicpc.net
π λ¬Έμ 보기 (λ보기 ππ»)
π λ¬Έμ μ κ·Ό
κ΅νμμ λΉμ μ‘°κ±΄μ΄ λ€μμ΄λ₯Ό μ μΈν λͺ¨λ ν보μλ€μ λνμ λ³΄λ€ λ§μμΌ νλ€.
μ°μ μμ νλ₯Ό λ§λ€μ΄μ λ€μμ΄λ₯Ό μ μΈν ν보μλ€μ λν μλ₯Ό λ£μλ€.
λ€μμ΄μ ν¬νμκ° κ°μ₯ λμ λ κΉμ§ μλμ κ³Όμ μ λ°λ³΅νλ©΄ λλ€.
1. νμ κ°μ₯ μ°μ μμ κ°(κ³ λνμ)κ³Ό λ€μμ΄ ν λΉκ΅
2. κ³ λνμ -1 ππ» λ€μμ΄ ν, λ§€μ νμ +1 ππ» κ³ λνμ-1 νμ λ£κΈ°
point ) μμ μ
λ ₯ 3κ³Ό κ°μ΄ ν보μμκ° λ€μμ΄ νΌμμΈ κ²½μ°λ₯Ό κ³ λ €ν΄μΌ νλ€.
π μ½λ 보기 (λ보기 ππ»)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine()); // ν보μ μ
// ν보μ νλ₯Ό λ΄μ μ°μ μμ ν μμ±(λ΄λ¦Όμ°¨μ)
PriorityQueue<Integer> candidate = new PriorityQueue<>(Collections.reverseOrder());
int d = Integer.parseInt(br.readLine()); // λ€μμ΄ ν
int cand = 0; // λ€λ₯Έ ν보μλ€μ΄ λ°μ ν
int best = 0; // μ΅κ³ μμμΈ ν μ
int cnt = 0; // λ§€μν νμ
for (int i = 0; i < t - 1; i++) {
cand = Integer.parseInt(br.readLine());
candidate.add(cand);
}
if (t != 1) { // ν보μ μκ° 1λͺ
μ΄ μλ κ²½μ°
while (d <= candidate.peek()) { // λ€μ <= κ³ λνμ μΈ λμ
best = candidate.poll(); // κ³ λνμλ₯Ό κΊΌλ΄μ
best--; // ν¬νμ 1μ κ°μ μν€κ³
cnt++; // λ§€μ νμ 1 μ¦κ°
d++; // λ€μμ΄ ν 1 μ¦κ°
candidate.add(best); // νκ° 1κ° κ°μλ ν보μλ₯Ό λ€μ νμ λ£κΈ°
}
System.out.println(cnt);
} else { // ν보μ μκ° 1λͺ
μΈ κ²½μ° λ§€μ νμ 0 μΆλ ₯
System.out.println(0);
}
}
}
π μ½λ νμ΄
reverseOrder(); λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬ν΄μ£Όλ λ©μλ
peek(); κ°μ₯ μ°μ μμμΈ κ°μ μ½λλ€. λΉμ΄μλ κ²½μ° nullμ λ°ν. (νμμ μ κ±° x)
poll(); κ°μ₯ μ°μ μμμΈ κ°μ μ½κ³ , νμμ μ κ±°. λΉμ΄μλ κ²½μ° nullμ λ°ν.
'Algorithm > Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [λ°±μ€] 1926λ² κ·Έλ¦Ό - μλ°(Java) / bfs&dfs (0) | 2022.04.22 |
|---|---|
| [λ°±μ€] 1003λ² : νΌλ³΄λμΉν¨μ - μλ°(Java) / λ€μ΄λλ―Ήνλ‘κ·Έλλ°(DP) (0) | 2022.04.20 |
| [λ°±μ€] 14502λ² μ°κ΅¬μ (Java) / μ‘°ν©, bfs (0) | 2022.04.14 |
| [λ°±μ€] 12865λ²: νλ²ν λ°°λ (Java) (0) | 2022.04.01 |
| [λ°±μ€] 1600λ² λ§μ΄ λκ³ ν μμμ΄ (Java) (0) | 2022.03.30 |


λκΈ