Problem Solving
[Java] λ°±μ€ 31623 - Room Temperature
336699go
2024. 3. 21. 12:31
https://www.acmicpc.net/problem/31623
νμ΄
μ μ μ μλ μ¬ν·μ μ νμ΄ μμΌλ, λ°°μ΄μ λͺ¨λ μμλ₯Ό 0 <= A[i] < T κ°μΌλ‘ λ§λ€ μ μλ€. (λͺ¨λλ¬ μ°μ°)
κ·Έ ν ν λͺ μ© μ¬ν· νλλ₯Ό μ νκ°λ©° unpleasantness κ°μ κ³μ°.
unpleasantness κ°μ λ°©μ μ¨λκ° λ± μ€κ°κ°μΌ λ μ΅μκ° λλ€.
μ¦, unpleasantness = (λ°°μ΄μ μ΅λκ° - λ°°μ΄μ μ΅μκ° + 1) / 2
λ°°μ΄μ μ΅λκ°κ³Ό μ΅μκ°μ λΉ λ₯΄κ² ꡬνκΈ° μν΄ μ λ ¬μ νλ€.
μ½λ
λ보기
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int T = Integer.parseInt(st.nextToken());
int[] A = new int[N];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
A[i] = Integer.parseInt(st.nextToken()) % T;
}
Arrays.sort(A);
int min = A[N - 1] - A[0];
for (int i = 0; i < N - 1; i++) {
min = Math.min(min, A[i] + T - A[i + 1]);
}
System.out.println((min + 1) / 2);
br.close();
}
}
νκΈ°
μκ³ λ¦¬μ¦ κ΅¬ν λ₯λ ₯보λ€λ μμ΄λμ΄κ° νμνλ λ¬Έμ .