최종 대결
면접 대비시간 제한1초메모리 제한1024 MB
연속된 웨이브 구간 중 segment 교집합 길이가 m1 이상 m2 이하인 구간의 개수를 구합니다.
문제
Neo와 Trinity는 가상 도시 샌프란시스코를 가득 메운 봇 군대와 싸우고 있다.
도시는 무한한 좌표축으로 볼 수 있다. 봇은 연속된 웨이브로 공격하며, 개의 웨이브 각각은 봇이 빈틈없이 채운 선분이다. Neo는 번째 웨이브에서 봇이 구간을 차지한다는 것을 알고 있다.
Trinity는 번째부터 번째까지 연속된 웨이브 묶음을 위험하다고 본다. 이 웨이브들이 차지한 구간들의 교집합 길이가 이상이고 이하일 때 그렇다. 즉 인 쌍 가 다음 조건을 만족하면 위험한 묶음이다.
예를 들어 이고 , , 이라고 하자. 처음 두 웨이브의 교집합은 이며 길이는 2이다. 세 웨이브의 교집합은 이며 길이는 1이다. 이면 처음 두 웨이브는 위험한 묶음이지만 세 웨이브는 그렇지 않다. 어떤 묶음이 위험하다고 해서 그 묶음을 포함하는 더 큰 묶음도 위험한 것은 아니다.
입력
첫 줄에 공백으로 구분된 세 정수 , , 가 주어진다 (, ).
다음 개의 줄에는 봇이 채운 선분의 양 끝점이 주어진다. 번째 줄에는 번째 웨이브 선분의 양 끝점인 정수 와 가 공백으로 구분되어 주어진다 ().
출력
위험한 연속 웨이브 묶음의 개수를 출력한다. 교집합 길이가 이상 이하인 서로 다른 묶음의 수이다.
힌트
첫 번째 테스트에서는 네 번째 웨이브를 포함하는 모든 묶음이 조건을 만족한다. 네 번째 웨이브의 길이는 1이고, 그 선분이 나머지 모든 선분에 포함되므로 교집합 길이도 1이 된다. 처음 세 웨이브의 묶음도 교집합이 이므로 조건을 만족한다.
두 번째 테스트에서는 세 번째 또는 네 번째 웨이브를 포함하는 모든 묶음이 조건을 만족한다. 처음 두 웨이브만으로 이루어진 묶음이나 마지막 두 웨이브만으로 이루어진 묶음은 교집합 길이가 항상 2 이상이다. 조건을 만족하는 묶음은 총 15개이다.