AT_nyc2015_4.ジャンプ

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在一条无限长的一维直线上,Snuke君站立在某一点。他有 NN 种跳跃方式。这些跳跃方式是对称跳跃:对于第 ii 种跳跃方式,假设当前所在位置为 xx,那么他可以跳到对称位置 2ai−x2a_i - x。

请根据以下输入格式来解答问题:

  • 输入有多行。
  • 第一行有一个整数 NN,表示跳跃方式的数量。
  • 接着的 NN 行,每行一个整数 aia_i,表示第 ii 种跳跃的目标位置。
  • 然后给出一个整数 QQ,表示有 QQ 个查询。
  • 随后的 QQ 行,每行两个整数 sis_i 和 tit_i,表示第 ii 个查询的起始位置和目标位置。

对于每个查询,输出一行,求出从 sis_i 跳到 tit_i 所需的最小跳跃次数。如果无法通过所给的跳跃方式到达目标位置,请输出 -1。

输入格式

  • 第一行:一个整数 NN。
  • 接下来的 NN 行:每行一个整数 aia_i。
  • 然后是一个整数 QQ。
  • 随后的 QQ 行:每行两个整数 sis_i 和 tit_i。

输出格式

对于每个查询,输出一行,表示最小跳跃次数。如果无法到达,则输出 -1。

数据范围与提示

  • 1≤N≤2001 \leq N \leq 200
  • 0≤a1,a2,…,aN0 \leq a_1, a_2, \ldots, a_N
  • 1≤Q≤1000001 \leq Q \leq 100000
  • 0≤si,ti≤100000 \leq s_i, t_i \leq 10000

总之,你需要计算在给定不同跳跃方式的情况下,从起点到达终点的最小跳跃次数。无法到达的话输出 -1。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页