#CCFPB06E02. 操作车厢

    ID: 1089 传统题 1000ms 256MiB 尝试: 53 已通过: 19 难度: 3 上传者: 标签>来源CCF中学生计算机程序设计(基础篇)数据结构链表

操作车厢

题目描述

现在有一列有 N N 个车厢的火车正在铁路上行驶。一开始给定 nextinext_i,表示 ii 号车厢的下一个车厢为 nextinext_i 号车厢,假如 nexti=0next_i=0,表示这是最后一个车厢。现在有 QQ 个操作,操作分为两类,一种是将某号车厢移除,那么原来在它前面的车厢将和它后面的车厢相连,另一种是询问从某号车厢开始往后第 cc 个车厢是哪号,假如不存在,则输出 1-1

输入格式:

第1行,两个整数 N,QN,Q;

第2行,NN 个整数,第 ii 个整数表示 nextinext_i;接下来 QQ 行,每行为 0 i0\space i1 i c1 \space i\space c 的形式,若为 0 i0\space i,则表示要将 ii 号车厢移除,若为 1 i c1\space i\space c,则表示要询问 i i 号车厢往后第 cc 个车厢的号码。

输出格式:

对于每个询问操作,输出 1 行,表示对应的车厢号,若不存在,则输出 1-1

样例:

6 4
6 3 1 0 4 5
1 5 2
1 5 1
0 6
1 2 3
-1
4
5

数据规模:

N,Q<=100,000,询问的c之和不超过5000,000N,Q <= 100,000,询问的c之和不超过5000,000。

Limitation

1s, 1024KiB for each test case.