시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 144 | 61 | 55 | 50.459% |
총 N개의 역을 지나가는 기차가 있다. (첫 역과 마지막 역도 포함한다)
기차가 첫 역을 출발할 때와 마지막 역에 도착할 때, 탑승하고 있는 승객은 아무도 없다. 각 역에서 기차를 타는 승객의 수와 기차에서 내리는 승객의 수는 입력으로 주어진다.
각 승객은 기차를 타고 역 몇 개를 지난 뒤에 지하철에서 내리고, 같은 열차를 두 번 이상 타지 않는다.
이 기차에는 기차표를 검사하는 직원이 타고 있다. 이 직원은 기차가 첫 번째 역에서 두 번째 역으로 가는 동안 기차를 타고 있는 모든 승객의 기차표를 검사한다. 그 다음에는 기차가 역 K개를 지날 때마다 표를 검사한다. (일반화 하면 a*K+1 번째 역에서 a*K+2 번째 역으로 가는 동안 검사한다) 따라서, 기차를 타고 있는 동안 기차표를 한 번도 검사받지 않는 승객이 있을 수도 있다.
이때, 기차표를 한 번도 검사받지 않는 승객 수의 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 N과 K가 주어진다. (2 ≤ N ≤ 1000, 1 ≤ K ≤ 1000)
다음 N개 줄에는 각 역에서 기차에서 내리는 승객의 수와 기차를 타는 승객의 수가 공백으로 구분되어져서 주어진다. (기차가 지나가는 역을 순서대로 주어진다) 모든 숫자는 0보다 크거나 같고, 1000보다 크지 않다.
첫째 줄에 기차표를 한 번도 검사받지 않는 승객 수의 최솟값과 최댓값을 공백으로 구분해서 출력한다.
3 2 0 5 4 2 3 0
2 2
4 2 0 5 0 5 3 0 7 0
0 3
6 2 0 10 5 3 6 4 2 8 8 1 5 0
5 11
Olympiad > Croatian Highschool Competitions in Informatics > 2006 > National Competition #2 - Juniors 1번