https://www.acmicpc.net/problem/13458
13458๋ฒ: ์ํ ๊ฐ๋
์ฒซ์งธ ์ค์ ์ํ์ฅ์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ฐ ์ํ์ฅ์ ์๋ ์์์์ ์ Ai (1 ≤ Ai ≤ 1,000,000)๊ฐ ์ฃผ์ด์ง๋ค. ์ ์งธ ์ค์๋ B์ C๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ B, C ≤ 1,000,000)
www.acmicpc.net
1. ๋ฌธ์
๋ธ๋ก ์ฆ2
์ํ์ฅ N๊ฐ, ์์์ ์ ์ฐจ๋ก๋ก ์ฃผ์ด์ง, ์ด๊ฐ๋ ๊ด์ด ๊ฐ์ํ ์ ์๋ ์์์ ์ B๋ช , ๋ถ๊ฐ๋ ๊ด์ด ๊ฐ์ํ ์ ์๋ ์์์์ C๋ช ์ด ์ฃผ์ด์ง ๋
ํ์ํ ์ด๊ฐ๋ ๊ด๊ณผ ๋ถ๊ฐ๋ ๊ด์ ์ต์ ์ธ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
2. ํ์ด
์ฌ๊ธฐ์ ์ด๊ฐ๋ ๊ด์ ๋ฐ๋์ 1๋ช ์ด์ ์กด์ฌ, ๋ถ๊ฐ๋ ๊ด์ ์กด์ฌํ์ง ์์ ์๋ ์๋ค.
1 ≤ N ≤ 1,000,000
1 ≤ B, C ≤ 1,000,000
ํต์ฌ์ 2๊ฐ์ง์ด๋ค. (๋๋ ์ด 2๊ฐ์ง ํต์ฌ ๋ชจ๋ ๋์ณ์ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์ดํ์ด ๊ฑธ๋ ธ๋ค..)
1. ์๋ฅผ ๋ค์ด N์ 1,000,000์ด๊ณ B, C๊ฐ 1์ผ ๋, ans๋ 1,000,000 * 1,000,000์ผ๋ก int ์ต๋ ํฌ๊ธฐ๋ฅผ ๋์ด๊ฐ๊ฒ ๋๋ค. ๋๋ฌธ์ ans๋ long ํ์ ์ด์ด์ผ ํ๋ค.
2. ์์ / ์์ = ์์ ๊ฐ ๋์ฌ ์ ์๋ค. ์๋ฅผ ๋ค์ด, -5 / 3 = -1์ด๋ค. ๋๋ฌธ์ ์์๋ฉด ๋ฐ๋ณต๋ฌธ์ continueํ๋ validation check๊ฐ ํ์ํ๋ค.
3. ์ฝ๋
import java.io.*;
import java.util.*;
public class Main {
static int N, B, C;
static long ans;
static int[] arr;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
arr = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i=0; i<N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(br.readLine());
B = Integer.parseInt(st.nextToken());
C = Integer.parseInt(st.nextToken());
//์
๋ ฅ ๋
ans = N;
for (int i=0; i<N; i++) {
arr[i] -= B;
if (arr[i] < 0) continue; //ํต์ฌ : -5/3 = -1์ด๋ค.
ans += arr[i] / C;
if (arr[i] % C > 0) {
ans++;
}
}
System.out.println(ans);
}
}
4. ์ฌ๋ด
๋ต์ ๋ณด๋ฉด ์ฌ๋ฏธ๊ฐ ์์ด์ง๋ค.
๋ฌธ์ ๋ ์ธ์์ ๋๊ฐ ์ด๊ธฐ๋ ํด๋ณด์ ..
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 1182 ๋ถ๋ถ์์ด์ ํฉ - Java (1) | 2023.09.16 |
---|---|
[BOJ] 3190 ๋ฑ - Java (1) | 2023.09.14 |
[BOJ] 14501 ํด์ฌ - Java (0) | 2023.06.01 |
[BOJ] 14503 ๋ก๋ด์ฒญ์๊ธฐ - Java (0) | 2023.05.29 |
[BOJ] 21921 ๋ธ๋ก๊ทธ - Java (0) | 2023.05.12 |