C++解题报告:Find the hotel 详解(RMQ)
引言
最值查询RMQ,信手拈得俱天成
题目描述
夏天了!弗林准备再来一次。由于旅游需要三天或更多的时间,所以找到一家价格合理、离目的地尽可能近的酒店是很重要的!但是有这么多! 弗林累了,找不到。现在是你的时间了!给定hi酒店的,其中pi代表价格,di代表从旅游目的地到目的地的距离,你会发现这些酒店,要么价格更低,要么距离更短。以酒店h1为例,如果有一个酒店h1,价格和距离都较低,我们将丢弃h1。更具体地说,你会发现那些酒店,在那里没有其他酒店的价格和距离都比它低。这种比较是严格的。
输入
有一些例子。处理到文件末尾。
每个案例以N (1 <= N <= 10000)开头,即酒店的编号。
下一行是第i家旅馆的(pi, di)。
这个数字将是非负数,并且小于10000。
输出
首先,输出您找到的酒店的编号,然后从下一行开始,像输入一样打印它们(两个数字在一行中)。你应该让它们先按价格上升,然后按距离打破相同的价格。
样例输入
3.
15日10
10 15
8 9
样例输出
1
8 9
思路详解
首先得了解题目要求,这题的描述有点玄学。。。
就是找特殊的酒店,满足没有其他的酒店的距离 di 和