만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

유로비전

시간 제한1초메모리 제한2048 MB

요약
각 구간의 음높이와 길이가 주어질 때, 극소점 뒤에서 최대 k번 숨을 쉬어 숨을 쉬지 않는 최장 시간을 최소화합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 그리디, 배열
정답자
아직 제출이 없습니다

문제

올해 유로비전은 개최지로 뽑힌 델프트의 Aula에서 열린다. 표는 몇 초 만에 모두 매진되었다. 델프트 각 학부의 학생들이 행사에 참석하고 싶어 하며, 그들은 같은 질문을 던지고 있다. 참가자가 최적으로 숨을 쉴 때, 숨을 쉬지 않고 노래해야 하는 가장 긴 시간은 얼마인가?

노래는 nn개의 음악 구간으로 나뉜다. ii번째 구간의 음높이 강도는 aia_i이고, 길이는 bib_i초이다. 참가자는 구간을 쉬지 않고 차례로 부르지만, 특정 순간에 숨을 쉰다. 숨을 쉬는 데 걸리는 시간은 무시할 만큼 짧다. 참가자는 음높이 강도의 극솟값 직후에만 숨을 쉰다. 즉 1<i<n1 < i < n이고 ai−1>ai<ai+1a_{i-1} > a_i < a_{i+1}인 구간 ii의 직후이다. 참가자가 쉬는 횟수는 전부 합쳐 kk번을 넘지 않는다.

참가자는 최적으로 숨을 쉰다. 주어진 제약 안에서 두 번의 숨 쉬기 사이의 가장 긴 시간이 가능한 한 짧아지도록 쉰다.

가수는 노래를 시작하기 직전과 끝낸 직후에 숨을 쉰다. 이 두 번의 숨은 전체 횟수에 포함되지 않는다.

입력

입력은 다음과 같다.

  • 첫 줄에 두 정수 nn (1≤n≤1041\leq n\leq 10^4)과 kk (0≤k<n0\leq k < n)가 주어진다. nn은 음악 구간의 개수이고, kk는 노래 중 쉴 수 있는 최대 횟수이다.
  • 이어서 nn개의 줄에 각각 두 정수 aia_i와 bib_i (1≤ai,bi≤1091 \leq a_i, b_i \leq 10^9)가 주어진다. 각각 ii번째 구간의 음높이 강도와 길이(초)이다.

출력

최적으로 노래했을 때, 두 번의 숨 쉬기 사이의 가장 긴 시간을 초 단위로 출력한다.

예제2

  1. 예제 1

    입력
    6 1
    1 1
    2 1
    1 1
    2 1
    1 1
    2 1
    
    예상 출력
    3
    
  2. 예제 2

    입력
    9 2
    2 1
    1 1
    2 1
    1 1
    2 1
    1 1
    2 1
    1 1
    2 1
    
    예상 출력
    4