Problem Solving/Baekjoon
[백준] 2828 사과 담기 게임 - Greedy / Java
graycode
2023. 2. 13. 07:35
• 문제 링크
2828번: 사과 담기 게임
상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M<N) 플레이어는 게임을 하는 중에 바구니를
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
st.nextToken();
int m = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(br.readLine());
int res = 0, left = 1;
while (j-- > 0) {
int drop = Integer.parseInt(br.readLine());
if (drop < left) {
res += left - drop;
left = drop;
} else if (drop > left + m - 1) {
res += drop - (left + m - 1);
left = drop - m + 1;
}
}
bw.write(String.valueOf(res));
bw.flush();
}
}