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 和

posted @ 2019-05-29 14:02  Nomad_Joe_violet  阅读(7)  评论(0编辑  收藏  举报  来源