μκ°μ ν
1μ΄
λ¬Έμ
‘ν° μμ λ²μΉ’μ μΌλ°μ μΌλ‘ ν΅κ³ λΆμΌμμ λ€λ£¨μ΄μ§λ λ΄μ©μ΄μ§λ§ λλΉμ΄λ λ³ΈμΈλ§μ λ°©μμΌλ‘ λ€λ₯΄κ² μ¬μ©νκ³ μλ€.
λλΉμ΄μ ν° μμ λ²μΉμ λ€μν μλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ μμ λ μ£Όμ΄μ§ μλ€μ Mλ² λνμ¬ κ°μ₯ ν° μλ₯Ό λ§λλ λ²μΉμ΄λ€.
λ¨οΌλ°°μ΄μ νΉμ ν μΈλ±μ€(λ²νΈ)μ ν΄λΉνλ μκ° μ°μν΄μ Kλ²μ μ΄κ³Όνμ¬ λν΄μ§ μ μλ κ²μ΄ μ΄ λ²μΉμ νΉμ§μ΄λ€.
μλ₯Ό λ€μ΄ μμλλ‘ 2, 4, 5, 4, 6μΌλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ μμ λ Mμ΄ 8μ΄κ³ , Kκ° 3μ΄λΌκ³ κ°μ νμ.
μ΄ κ²½μ° νΉμ ν μΈλ±μ€μ μκ° μ°μν΄μ μΈ λ²κΉμ§λ§ λν΄μ§ μ μμΌλ―λ‘ ν° μμ λ²μΉμ λ°λ₯Έ κ²°κ³Όλ 6 + 6 + 6 + 5+ 6 + 6 + 6 + 5μΈ 46μ΄ λλ€.
λ¨οΌμλ‘ λ€λ₯Έ μΈλ±μ€μ ν΄λΉνλ μκ° κ°μ κ²½μ°μλ μλ‘ λ€λ₯Έ κ²μΌλ‘ κ°μ£Όνλ€.
μλ₯Ό λ€μ΄ μμλλ‘ 3, 4, 3, 4, 3μΌλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ μμ λ Mμ΄ 7μ΄κ³ οΌKκ° 2λΌκ³ κ°μ νμ.
μ΄ κ²½μ° λ λ²μ§Έ μμμ ν΄λΉνλ 4μ λ€ λ²μ§Έ μμμ ν΄λΉνλ 4λ₯Ό λ²κ°μ λ λ²μ© λνλ κ²μ΄ κ°λ₯νλ€.
κ²°κ³Όμ μΌλ‘ 4 + 4 + 4 + 4 + 4 + 4 + 4μΈ 28μ΄ λμΆλλ€.
λ°°μ΄μ ν¬κΈ° N, μ«μκ° λν΄μ§λ νμ M, κ·Έλ¦¬κ³ Kκ° μ£Όμ΄μ§ λ λλΉμ΄μ ν° μμ λ²μΉμ λ°λ₯Έ κ²°κ³Όλ₯Ό μΆλ ₯νμμ€.
μ λ ₯
- 첫째 μ€μ N(2 < N < 1,000), M(1 < M < 10,000), K(1 < K < 10,000)μ μμ°μκ° μ£Όμ΄μ§λ©°, κ° μμ°μλ 곡백μΌλ‘ ꡬλΆνλ€.
- λμ§Έ μ€μ Nκ°μ μμ°μκ° μ£Όμ΄μ§λ€. κ° μμ°μλ 곡백μΌλ‘ ꡬλΆνλ€. λ¨, κ°κ°μ μμ°μλ 1 μ΄μ 10,000 μ΄νμ μλ‘ μ£Όμ΄μ§λ€.
- μ
λ ₯μΌλ‘ μ£Όμ΄μλ Kλ νμ Mλ³΄λ€ μκ±°λ κ°λ€.
μ λ ₯ μμ
5 8 3
2 4 5 4 6
μΆλ ₯
첫째 μ€μ λλΉμ΄μ ν° μμ λ²μΉμ λ°λΌ λν΄μ§ λ΅μ μΆλ ₯νλ€.
μΆλ ₯ μμ
46
λ¬Έμ νμ΄ κ³Όμ
첫 μ€μ μ΄ 3κ°μ μκ° μ£Όμ΄μ§λ€.
N: λ°°μ΄μ ν¬κΈ°
M: μ«μκ° λν΄μ§λ νμ
K: λ°°μ΄μ νΉμ ν μΈλ±μ€μ ν΄λΉνλ μκ° μ°μν΄μ λν΄μ§ μ μλ νμ
κ·Έ ν Nκ°μ μκ° μ λ ¬μ΄ λμ΄ μμ§ μμ μνλ‘ μ£Όμ΄μ§λ€.
κ°μ₯ ν° μλ₯Ό ꡬνκΈ° μν΄μ μ λ ¬μ νμμ΄λ€.
Arrays.sort() μ¬μ©
κ°μ₯ ν° μλ₯Ό Mλ² κ³±νλ©΄ μ£Όμ΄μ§ μλ€μ Mλ² λνμ¬ κ°μ₯ ν° μλ₯Ό λ§λ€ μ μλ€.
νμ§λ§, λ¬Έμ μλ νλμ μ‘°κ±΄μ΄ μ‘΄μ¬νλ€.
"λ°°μ΄μ νΉμ ν μΈλ±μ€(λ²νΈ)μ ν΄λΉνλ μκ° μ°μν΄μ Kλ²μ μ΄κ³Όνμ¬ λν΄μ§ μ μλ€."
κ°μ₯ ν° μ Kλ² λνκΈ°
μ°μμ μΌλ‘ Kλ²μ λ μ΄μ λν μ μλ€.
λ λ²μ§Έλ‘ ν° μ 1λ² λνκΈ°
λ€μ κ°μ₯ ν° μλ₯Ό λνλ κ²μ΄ κ°λ₯ν΄μ‘λ€.
κ°μ₯ ν° μ Kλ² λνκΈ°
λ λ²μ§Έλ‘ ν° μ 1λ² λνκΈ°
μ κ³Όμ μ λ°λ³΅νλ©° κ³μ°μ΄ μ§νλ κ²μμ μμΈ‘!
μμλ₯Ό ν΅ν΄ μμΈν μ΄ν΄λ³΄λ©΄
κ°μ₯ ν° μλ₯Ό Kλ², κ·Έλ€μμΌλ‘ ν° μλ₯Ό 1λ² λν¨μΌλ‘μ¨ K+1μ© κ·μΉμ μΌλ‘ λν΄μ§κ³ μμμ μ μ μλ€.
μ€λ₯Έμͺ½μ μμμ²λΌ K+1λ§νΌ λνμ§λ§ 2λ²μ λ§μ μ΄ λ¨μμλ κ²½μ°λ κ°μ₯ ν° μλ₯Ό λλ¨Έμ§λ§νΌ λν΄μ€λ€.
M / (K + 1) λ§νΌ κ°μ₯ ν° μ(Kλ²)μ λ λ²μ§Έλ‘ ν° μ(1λ²)μ λ§μ μ΄ λ°λ³΅
M % (K + 1) λ§νΌ κ°μ₯ ν° μ λνκΈ°
=> ( M / (K + 1) ) (κ°μ₯ ν° μ * K + λ λ²μ§Έλ‘ ν° μ) + ( M % (K + 1) ) * κ°μ₯ ν° μ
μ½λ
public class TC_3_1 {
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 m = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
int[] number = new int[n];
for (int i = 0; i < n; i++) {
number[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(number);
int first = number[n - 1]; // κ°μ₯ ν° μ
int second = number[n - 2]; // λ λ²μ§Έλ‘ ν° μ
int quotient = m / (k + 1);
int remainder = m % (k + 1);
int result = 0;
result += quotient * (first * k + second) + remainder * first;
System.out.println(result);
}
}
+) μ± νμ΄ λ°©μ
M / (K + 1) λ§νΌ κ°μ₯ ν° μ(Kλ²)μ κ·Έλ€μ ν° μ(1λ²)μ λ§μ μ΄ λ°λ³΅
M % (K + 1) λ§νΌ κ°μ₯ ν° μ λνκΈ°
μ΄ μμ ν΅ν΄ μλμ κ°κ° λν΄μ§λ νμλ₯Ό ꡬν μ μλ€.
κ°μ₯ ν° μκ° λν΄μ§λ νμ: M / (K + 1) * K + M % (K + 1)
λ λ²μ§Έλ‘ ν° μκ° λν΄μ§λ νμ: M / (K + 1) or ( M - κ°μ₯ ν° μκ° λν΄μ§λ νμ )
int cnt = quotient * k + remainder;
result += cnt * first;
result += (m - cnt) * second;
Reference
μ΄κ²μ΄ μ·¨μ μ μν μ½λ©ν μ€νΈλ€ - λλλΉ
'π―PS - Baekjoon, etc > 그리λ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π₯[λ°±μ€, 2878] μΊλμΊλ (Java) (0) | 2023.04.03 |
---|---|
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€] 1μ΄ λ λκΉμ§ (Java) (0) | 2023.03.03 |
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€] μ«μ μΉ΄λ κ²μ (Java) (0) | 2023.02.26 |
λκΈ