[BOJ 12929] 빌딩 높이
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
3
Time limit:
2.0s
Memory limit:
512M
Problem types
Allowed languages
오늘은 천나라에 빌딩 N개를 새로 만들려고 한다. 새로운 빌딩은 일렬로 놓여져 있어야 하고, 차례대로 1번부터 N번까지 번호를 붙인다.</p>
천나라에는 다음과 같이 새로운 빌딩에 대한 높이 제한이 있다.
- 모든 빌딩의 높이는 음이 아닌 정수이어야 한다.
- 빌딩 1의 높이는 0이다.
- 인접한 두 빌딩의 높이의 차이는 K보다 작거나 같아야 한다.
- 빌딩 X[i]의 높이는 T[i]보다 작거나 같아야 한다.
천나라의 높이 제한을 지키면서, 지을 수 있는 가장 큰 높이를 구하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 1,000,000,000)</p>
둘째 줄에는 X와 T의 크기 M이 주어진다. (0 ≤ M ≤ min(N, 500))
M이 0이상일 경우 셋째 줄에는 X[i]가, 넷째 줄에는 T[i]가 주어진다. (1 ≤ X[i] ≤ N, 1 ≤ T[i] ≤ 1,000,000,000, X[i] < X[i+1]) M이 0인 경우에는 셋째 줄과 넷째 줄이 주어지지 않는다.
출력 형식
천나라의 높이 제한을 지키면서 지을 수 있는 가장 높은 빌딩의 높이를 출력한다. </p>
예제 입력 1
10 1
2
3 8
1 1
예제 출력 1
3
예제 입력 2
1000000000 1000000000
0
예제 출력 2
999999999000000000
예제 입력 3
20 3
5
4 7 13 15 18
8 22 1 55 42
예제 출력 3
22
Comments