AT_joi2025ho_e.郵便局 (Post Office)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 JOI 国,有 N 个邮局,编号从 1 到 N。
每个邮局都被分配了一个“目的地”,邮局 i 的目的地是邮局 Pi。注意,允许 Pi=i。
如果某个包裹在时间 t 从邮局 i 发出,则会在时间 t+1 到达邮局 Pi。不过,在传送包裹期间,邮局不能同时传递另外一个包裹。
每个邮局在任何时刻都可以无限量储存包裹。
现在,JOI 国需要传送 M 个包裹。
第 j 个包裹在时间 0 到达邮局 Aj,最终必须送到指定的邮局 Bj。
给定所有邮局的目的地信息以及所有包裹的信息,请编写程序判断是否能够将全部包裹传送到各自的指定邮局。如果可以,请输出所有包裹到达目的地的最短可能时间(即最后一个包裹到达的最早时间)。
输入格式
请从标准输入中读取以下数据:
N P1 P2 ⋯ PN M A1 B1 A2 B2 ⋮ AM BM
输出格式
请输出一行到标准输出。如果所有包裹都能被送达到指定邮局,输出最后一个包裹到达目的地的最早时间,否则输出 -1。
输入输出样例
输入#1
5 1 1 2 3 4 3 3 2 3 1 3 1
输出#1
3
输入#2
3 2 1 3 1 1 3
输出#2
-1
输入#3
7 1 1 2 3 4 5 6 6 4 2 5 1 5 3 6 2 7 3 7 6
输出#3
5
输入#4
4 4 1 2 3 4 4 1 4 1 2 3 2 3
输出#4
4
输入#5
7 1 1 1 3 3 4 4 5 6 1 6 3 7 1 5 1 5 1
输出#5
5
输入#6
11 3 1 2 5 6 7 8 4 4 5 10 6 2 1 9 8 11 8 10 4 5 6 5 7
输出#6
6
说明/提示
子任务
1.(3 分)N≤3000,M=1。
2.(9 分)N≤3000,M≤3000。
3.(13 分)P=(1,1,2,⋯,N−1),且 max(B1,B2,…,BM)<min(A1,A2,…,AM)。
4.(25 分)P=(1,1,2,⋯,N−1)。
5.(11 分)P=(N,1,2,⋯,N−1)。
6.(25 分)P1=1,且 Pi<i(2≤i≤N)。
7.(14 分)无额外限制。
样例解释 1
例如,按照如下操作可以在时间 3 前将所有包裹送达各自的目的地:
- 在时间 0,包裹 1、2、3 均在邮局 3。将包裹 2 送到邮局 2。
- 在时间 1,包裹 2 在邮局 2,包裹 1 和 3 仍在邮局 3。从邮局 2 发包裹 2 到邮局 1,从邮局 3 发包裹 3 到邮局 2。
- 在时间 2,包裹 2 在邮局 1,包裹 3 在邮局 2,包裹 1 仍在邮局 3。从邮局 2 发包裹 3 到邮局 1,从邮局 3 发包裹 1 到邮局 2。
- 在时间 3,包裹 2 和 3 在邮局 1,包裹 1 在邮局 2。此时所有包裹均已送达。
因为不可能更早完成所有包裹的传送,所以应输出 3。
本样例输入满足子任务 2,3,4,6,7 的限制条件。
样例解释 2
无论如何传送,都无法从邮局 1 送包裹到邮局 3,所以输出 -1。
本样例输入满足子任务 1,2,7 的限制条件。
样例解释 3
本样例输入满足子任务 2,4,6,7 的限制条件。
样例解释 4
本样例输入满足子任务 2,5,7 的限制条件。
样例解释 5
本样例输入满足子任务 2,6,7 的限制条件。
样例解释 6
本样例输入满足子任务 2,7 的限制条件。
数据范围
- 2≤N≤200000。
- 1≤M≤200000。
- 1≤Pi≤N(1≤i≤N)。
- 1≤Aj,Bj≤N(1≤j≤M)。
- Aj=Bj(1≤j≤M)。
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?