만드는 중입니다

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

단순화

시간 제한2초메모리 제한1024 MB

요약
주가 기록에서 버려진 모든 점이 남긴 점을 잇는 선과 세로 거리 δ 이내에 있도록, 남길 점의 최소 개수를 구합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 기하
정답자
아직 제출이 없습니다

문제

아민은 가끔씩 자신의 주식 가격을 노트에 데이터 점 (ti,pi)(t_i, p_i)로 기록한다. 여기서 pip_i는 tit_i일의 주식 가격이다. 이 데이터 점들은 일정 기간의 주가 변화를 나타내는 구간별 선형 함수 FF를 이룬다. FF는 연속한 두 점을 직선 선분으로 잇는다. 어떤 날 tt의 가격이 기록되지 않았다면 F(t)F(t)를 대신 추정값으로 쓸 수 있다.

그는 오랜 기간 주가를 추적해 왔기 때문에 모아 둔 데이터가 계속 늘어났다. 그래서 기록된 점 일부를 버리고, 남은 점으로 새로운 구간별 선형 함수 F′F'을 만들어 데이터를 줄이기로 했다. F′F'은 FF의 단순화이며, 그는 F′F'이 FF를 잘 근사하기를 원한다. 그는 오차를 다음과 같이 정의한다.

FF가 날짜의 엄격한 증가 수열 L=⟨t1,…,tn⟩L = \langle t_1, \ldots, t_n \rangle 위에 정의되어 있고, F′F'이 LL의 부분수열 L′=⟨t1′,…,tm′⟩L' = \langle t'_1, \ldots, t'_m \rangle 위에 정의되어 있다고 하자. 여기서 t1′=t1t'_1 = t_1, tm′=tnt'_m = t_n이고, 1≤i≤m1 \leq i \leq m에 대해 F′(ti′)=F(ti′)F'(t'_i) = F(t'_i)이다. mm을 F′F'의 크기라고 한다. F′F'의 오차는 모든 1≤k≤n1 \leq k \leq n에 대한 ∣F′(tk)−F(tk)∣|F'(t_k) - F(t_k)|의 최댓값이다.

아래 그림은 1번부터 6번까지 번호가 붙은 데이터 점을 보여준다. 점 1, 4, 6을 사용하는 크기 3의 단순화가 F′F'이다. FF는 실선, F′F'은 점선으로 그려져 있다. F′F'의 오차는 점 2에서 F′F'까지의 수직 거리다.

아민의 목표는 F′F'의 오차가 주어진 값 δ\delta 이하가 되도록 F′F'의 크기를 최소로 만드는 것이다.

입력

첫 줄에 FF의 크기를 나타내는 양의 정수 nn (2≤n≤20002 \leq n \leq 2000)이 주어진다. 다음 nn개의 줄에는 정수 tit_i와 pip_i (1≤ti,pi≤1061 \leq t_i, p_i \leq 10^6)가 한 줄에 하나씩 주어진다. 마지막 줄에는 오차 한도 δ\delta가 주어지며, δ\delta는 10610^6 이하의 음이 아닌 정수다.

출력

F′F'이 가질 수 있는 최소 크기를 출력한다.

예제2

  1. 예제 1

    입력
    3
    1 10
    3 100
    10 20
    90
    
    예상 출력
    2
    
  2. 예제 2

    입력
    6
    10 10
    20 20
    35 14
    50 20
    60 10
    70 10
    8
    
    예상 출력
    3