녕의 학습 기록
백준_14501 퇴사 (DP) 본문


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BJ_14501_퇴사 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] t = new int[n + 1];
int[] p = new int[n + 1];
int[] result = new int[n + 1];
int i;
StringTokenizer st;
for (i=1; i<n+1; i++) {
st = new StringTokenizer(br.readLine(), " ");
t[i] = Integer.parseInt(st.nextToken());
p[i] = Integer.parseInt(st.nextToken());
}
for (i=1; i<n+1; i++) {
if (i + t[i] < n + 2) { //i일의 작업이 퇴사일 이전에 끝날 경우
result[i + t[i] - 1] = Math.max(result[i + t[i] - 1], result[i - 1] + p[i]); //작업이 끝나는 날 최댓값 저장
}
result[i] = Math.max(result[i-1], result[i]); //전날과 오늘 중 최댓값 저장
}
System.out.println(new StringBuilder().append(result[n]));
}
}
14501번: 퇴사
첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.
www.acmicpc.net
'Algorithm > Algorithm 문제' 카테고리의 다른 글
백준_11726 2xn 타일링 (DP) (0) | 2024.04.15 |
---|---|
백준_2193 이친수 (DP) (0) | 2024.04.14 |
백준_1463 1로 만들기 (DP) (0) | 2024.04.11 |
백준_1947 선물 전달 (조합 순열) (0) | 2024.04.08 |
백준_1256 사전 (조합 순열) (0) | 2024.04.08 |