AT_joisc2017_f.鉄道旅行 (Railway Trip)

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

JOI 铁路公司是一家运营一条铁路线路的企业。在该公司的这条铁路线上,有 NN 座车站沿直线分布,编号从 11 到 NN。对于每一个 ii(1≤i≤N−11\leq i \leq N − 1),车站 ii 和车站 i+1i + 1 之间均通过一段铁轨相连。

JOI 铁路公司运营着 KK 种双向行驶的列车,列车类型用 11 到 KK(包含 11 和 KK)之间的整数表示。每座车站都有一个等级,等级为 11 到 KK(包含 11 和 KK)之间的整数。对于每一个 ii(1≤i≤N1\leq i\leq N),车站 ii 的等级记为 LiL_i。线路两端的车站,即车站 11 和车站 NN,等级均为 KK。

类型为 jj(1≤j≤K1\leq j\leq K)的列车会在所有等级大于或等于 jj 的车站停靠,而不会在其他等级的车站停靠。由于线路两端的车站(车站 11 和车站 NN)等级均为 KK,因此所有类型的列车都会在这两座车站停靠。

每天都有大量乘客乘坐 JOI 铁路公司的列车出行。在行程中,乘客可以乘坐与目的地方向相反的列车,也可以经过目的地(不停靠),但行程结束时,必须在目的地车站停靠。乘客不太喜欢在中途车站停靠,因此他们会选择中途停靠次数最少的路线,而不考虑经过的车站数量或换乘次数。需要注意的是,如果乘客在某座车站停靠以换乘列车,该次停靠会被计入中途停靠次数;而行程开始时在出发站的停靠,以及行程结束时在目的地的停靠,均不计入中途停靠次数。

你的任务是编写一个程序,针对每位乘客的查询,计算出其行程所需的最少中途停靠次数。

输入格式

从标准输入中读取以下数据:

  • 输入的第一行包含三个用空格分隔的整数 N,K,QN,K,Q,分别表示 JOI 铁路公司的车站总数为 NN,列车类型总数为 KK,以及关于两站之间行程的查询数量为 QQ。
  • 接下来的 NN 行中,第 ii 行(1≤i≤N1 \leq i \leq N)包含一个整数 LiL_i,表示车站 ii 的等级。
  • 再接下来的 QQ 行中,第 kk 行(1≤k≤Q1 \leq k \leq Q)包含两个用空格分隔的整数 Ak,BkA_k,B_k,分别表示第k位乘客的出发站为车站 AkA_k,目的地为车站 BkB_k。

输出格式

输出共 QQ 行,每行一个整数,表示旅客 kk 最少的停站次数。

输入输出样例

  • 输入#1

    9 3 3
    3
    1
    1
    1
    2
    2
    2
    3
    3
    2 4
    4 9
    6 7

    输出#1

    1
    3
    0
  • 输入#2

    5 2 1
    2
    1
    1
    1
    2
    1 4

    输出#2

    1
  • 输入#3

    15 5 15
    5
    4
    1
    2
    3
    1
    1
    2
    4
    5
    4
    1
    5
    3
    5
    8 1
    11 1
    5 3
    6 11
    9 12
    15 14
    15 2
    3 12
    2 1
    4 8
    15 5
    12 6
    1 13
    13 8
    14 9

    输出#3

    2
    1
    1
    3
    2
    0
    3
    4
    0
    1
    3
    4
    1
    2
    2

说明/提示

对于所有数据,2≤N≤105,1≤K≤N,1≤Q≤105,1≤Li≤K(1≤i≤N),1≤Ak,Bk≤N,Ak≠Bk(1≤k≤Q)2\le N\le 10^5, 1\le K\le N, 1\le Q\le 10^5, 1\le L_i\le K(1\le i\le N), 1\le A_k, B_k\le N, A_k\not=B_k(1\le k\le Q)。

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

首页