选择客栈

成绩 100 开启时间 2020年02月18日 星期二 14:40
折扣 0.8 折扣时间 2020年02月18日 星期二 14:40
允许迟交 关闭时间 2020年02月18日 星期二 14:40
输入文件 hotel.in 输出文件 hotel.out

【题目描述】选择客栈(hotel)NOIP 2011

n家客栈按照其位置顺序从1到n编号排成一行。每家客栈都按照某一种色调进行装饰(共k种,用整数0~k-1表示),且每家客栈都设有一家饭店,每家饭店均有各自的最低消费。

琪儿和琳琳喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,她们打算选择一家饭店吃饭,要求饭店位于两人住的两家客栈之间(包括她们住的客栈),且饭店的最低消费不超过p。

她们想知道总共有多少种选择住宿的方案,保证可以找到一家最低消费不超过p元的饭店。

【输入格式】

输入共n+1行。

第一行三个整数 n(2≤n≤200 000),k(0<k≤50),p(0≤p,最低消费≤100),分别表示客栈的个数,色调的数目和能接受的最低消费的最高值;

随后n行,第i+1行两个整数,分别表示i号客栈的装饰色调和i号客栈的饭店的最低消费。

【输出格式】

     输出只有一行,一个整数,表示可选的住宿方案的总数。

【输入样例】

5 2 3 

0 5  

1 3

0 2

1 4

1 5

【输出样例】

3

【样例说明】

客栈编号: ①  ②  ③  ④  ⑤

色调:      0  1   0   1   1

最低消费:  5  3   2   4   5

2人要住同样色调的客栈,所有可选的住宿方案包括:住客栈①③,②④,②⑤,④⑤,但是若选择住 4、5 号客栈的话,4、5 号客栈之间的饭店的最低消费是 4,而两人能承受的最低消费是 3 元,所以不满足要求。因此只有前 3 种方案可选。

【数据范围】

对于30%的数据,有 n≤100;  

对于50%的数据,有 n≤1 000;

对于100%的数据,有 2≤n≤200 000,0<k≤50,0≤p≤100, 0≤最低消费≤100。