수평 구간과 수직 구간이 끝점이 아닌 점에서 만나고 자른 시점이 T일 이상 차이나는 교차점 개수를 구합니다.
어려움8세그먼트 트리기하슬라이딩 윈도우아직 제출이 없습니다시간 제한5초메모리 제한512 MB농부 존은 농장 일을 대체로 빈틈없이 해내지만 잔디 깎기만은 늘 늦는다. 잔디깎이를 하루에 한 번만 움직이기 때문이다. 1일째에 그는 (x1,y1)에서 출발하고, d일째에는 전날 위치에서 (xd,yd)까지 직선으로 잔디를 깎으며 이동한다. 농장을 2차원 평면으로 보면 이 이동은 항상 가로 또는 세로다. 즉 xd=xd−1이거나 yd=yd−1이다. 존은 가로 이동과 세로 이동을 하루씩 번갈아 한다.
진도가 워낙 느려서 먼저 깎은 잔디가 작업이 끝나기 전에 다시 자란다. d일째에 깎은 자리의 잔디는 d+T일째에 되살아난다. 그래서 존의 경로가 T일 이상 앞서 깎아 둔 경로와 만나면 같은 자리를 한 번 더 깎게 된다. 존은 자기 방식이 얼마나 나쁜지 확인하려고 이런 일이 몇 번 일어나는지 세려고 한다.
되살아난 잔디를 다시 깎게 되는 교차점의 개수를 세어라. 수직으로 만나는 경우만 센다. 즉 가로 선분과 세로 선분이 공유하는 점 중에서 두 선분 어느 쪽의 끝점도 아닌 점만 센다.
첫째 줄에 N (2≤N≤100000)과 T (1≤T≤N, T는 짝수)가 주어진다.
다음 N개 줄에는 1일째부터 N일째까지 잔디깎이의 위치가 주어진다. i번째 줄에는 정수 xi와 yi가 주어지며, 둘 다 0 이상 109 이하다.
연속한 두 위치가 같을 수도 있다. 그런 날의 이동은 한 점이므로 어떤 교차에도 관여하지 않는다.
위에서 설명한 교차점의 개수를 출력한다.
첫 번째 예제에서 7일째 경로는 2일째에 깎은 선분과 만난다. 두 날의 간격이 T=4 이상이므로 이 교차는 개수에 들어간다. 나머지 두 교차는 간격이 3일뿐이라 세지 않는다.