π λ¬Έμ
2847λ²: κ²μμ λ§λ λμ€μ΄
νκ΅μμ κ·Έλν½μ€ μμ μ λ€μ λμ€μ΄λ μμ μκ°μ λ€μ λ΄μ©μ λ°νμΌλ‘ μ€λ§νΈν° κ²μμ λ§λ€μλ€. κ²μμλ μ΄ Nκ°μ λ λ²¨μ΄ μκ³ , κ° λ 벨μ ν΄λ¦¬μ΄ν λ λ§λ€ μ μκ° μ£Όμ΄μ§λ€. νλ μ΄μ΄
www.acmicpc.net
π μμ΄λμ΄
λ¨Όμ νλ² λͺ¨λ μ λ ₯μ λ°λλ€.
κ·Έ νμλ 맨 λ€μμλΆν° iλ²μ§Έμ μ«μκ° i+1λ³΄λ€ μ μ΄λ 1μ΄μ μμμΌ νλ€λ 쑰건μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
μ¦ arr[i] = arr[i+1]-1μ΄μ΄μΌ νλ€.
1) νμ¬ arr[i] μ«μκ° arr [ i+1]λ³΄λ€ ν¬κ±°λ κ°μ κ²½μ° (arr[i]>=arr[i+1]) :
arr [i] = arr[i+1]-1μ΄μ΄μΌ μ΅μ쑰건μ λ§μ‘±νκΈ° λλ¬Έμ
sumμ arr[i]-arr[i+1]+1μ λνκ³ beforeμ arr[i+1]-1λ‘ λ°κΎΌλ€.
2) λ°λμ κ²½μ°μΈ arr[i]<arr[i+1]μ κ²½μ°λΌλ©΄ κ°λ₯ν κ²½μ°μ΄λ―λ‘ beforeκ°μ arr[i]λ‘ κ΅μ²΄νλ€.
π νμ΄
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
int before = arr[n - 1];
int sum = 0;
for (int i = n - 2; 0 <= i; i--) {
if (arr[i] >= before) {
sum += (arr[i] - before + 1);
before = before - 1;
} else {
before = arr[i];
}
}
System.out.println(sum);
}
}
'λ°±μ€(boj)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [JAVA]4803 νΈλ¦¬, λΆλ¦¬ μ§ν© (0) | 2023.06.03 |
|---|---|
| [JAVA]2240 μλλ무, 골λ 5, dp (0) | 2023.06.02 |
| [JAVA]1063 νΉ, ꡬν, μ€λ²3 (0) | 2023.05.31 |
| [JAVA]17143 λμμ (1) | 2023.05.29 |
| [JAVA]2758 λ‘λ(dfs μκ°μ΄κ³Ό/ dp) (0) | 2023.05.28 |