ALGORITHM π€/Baekjoon
λ°±μ€ - 1459
daxx0ne
2023. 4. 26. 14:58
https://www.acmicpc.net/problem/1459
1459λ²: κ±·κΈ°
μΈμ€μ΄λ νκ΅μμ μ§μΌλ‘ κ°λ €κ³ νλ€. λμμ ν¬κΈ°λ 무νλμ΄κ³ , λμμ μΈλ‘ λλ‘λ λͺ¨λ μ μ xμ’νλ§λ€ μκ³ , κ°λ‘ λλ‘λ λͺ¨λ μ μ yμ’νλ§λ€ μλ€. μΈμ€μ΄λ νμ¬ (0, 0)μ μλ€. κ·Έλ¦¬κ³ (
www.acmicpc.net
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long x = sc.nextLong(); // μ§μ μμΉ xμ’ν
long y = sc.nextLong(); // μ§μ μμΉ yμ’ν
long w = sc.nextLong(); // κ±Έμ΄μ ν λΈλ‘ κ°λλ° κ±Έλ¦¬λ μκ° (νν μ΄λ)
long s = sc.nextLong(); // λκ°μ μΌλ‘ ν λΈλ‘μ κ°λ‘μ§λ₯΄λ μκ°
long case1 = (x + y) * w; // case1: νν μ΄λλ§ ν΄μ κ°λ κ²½μ°
long case2; // case2: λκ°μ μΌλ‘ κ°λ κ²½μ°
if((x + y) % 2 != 0) { // (x + y)κ° νμμΌ λ -> λ μ€ ν° μμμ 1 λΉΌμ€ λ§νΌ λκ°μ μΌλ‘ κ°κ³ , νν μ΄λμ νλ²
case2 = (Math.max(x, y) - 1) * s + w;
}
else { // (x + y)κ° μ§μμΌ λ -> λ μ€ ν° μλ§νΌ λκ°μ μΌλ‘ κ°
case2 = Math.max(x, y) * s;
}
long case3 = (Math.min(x, y) * s) + (Math.abs(x - y) * w); // case3: λκ°μ + νν μ΄λ λλ€ ν΄μ κ°λ κ²½μ°
// x, y κ° μ€ μμ κ° λ§νΌλ§ λκ°μ μΌλ‘, λλ¨Έμ§(μ λκ°)λ§νΌ νν μ΄λ
long min = Math.min(Math.min(case1, case2), case3); // caseλ€ μ€ κ°μ₯ μμ μκ° μ΅μ μκ°
System.out.println(min);
}
}