#P1393. Doctor

    ID: 1147 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>基础算法模拟数据结构队列CodeForces

Doctor

题目描述

给定一个包含 nn 个数的序列 a1,a2,,ana_1,a_2,\dots,a_n1n1051\le n\le 10^5),aia_i 的编号为 ii,注意编号不会因为序列的变化而改变。

现在请你执行 kk0k10140\le k\le 10^{14})次操作,每次操作为取出序列的第一个数并将其值减一,若其值大于 00,则将其放到序列的最尾端,否则出队。

求最后的序列剩下的数的编号(若 kk 次操作还未执行完序列已经为空则输出 -1)。

输入格式

第一行两个整数 n,kn,k

第二行 nn 个整数 aia_i1ai1091\le a_{i}\le 10^{9}

输出格式

最后的序列剩下的数的编号(若 kk 次操作还未执行完序列已经为空则输出 -1)。

最后可能没有剩下任何数字,则什么都不用输出。

3 3
1 2 1
2
  • 初始:a={1,2,1}a=\{1,2,1\}
  • 第一次操作后:a={2,1}a=\{2,1\},剩余编号为 2,32,3
  • 第二次操作后:a={1,1}a=\{1,1\},剩余编号为 3,23,2
  • 第三次操作后:a={1}a=\{1\},剩余编号为 22
4 10
3 3 2 1
-1
7 10
1 3 3 1 2 3 1
6 2 3
  • 初始:a={1,3,3,1,2,3,1}a=\{1,3,3,1,2,3,1\}
  • 第一次操作后:a={3,3,1,2,3,1}a=\{3,3,1,2,3,1\},剩余编号为 2,3,4,5,6,72,3,4,5,6,7
  • 第二次操作后:a={3,1,2,3,1,2}a=\{3,1,2,3,1,2\},剩余编号为 3,4,5,6,7,23,4,5,6,7,2
  • 第三次操作后:a={1,2,3,1,2,2}a=\{1,2,3,1,2,2\},剩余编号为 4,5,6,7,2,34,5,6,7,2,3
  • 第四次操作后:a={2,3,1,2,2}a=\{2,3,1,2,2\},剩余编号为 5,6,7,2,35,6,7,2,3
  • 第五次操作后:a={3,1,2,2,1}a=\{3,1,2,2,1\},剩余编号为 6,7,2,3,56,7,2,3,5
  • 第六次操作后:a={1,2,2,1,2}a=\{1,2,2,1,2\},剩余编号为 7,2,3,5,67,2,3,5,6
  • 第七次操作后:a={2,2,1,2}a=\{2,2,1,2\},剩余编号为 2,3,5,62,3,5,6
  • 第八次操作后:a={2,1,2,1}a=\{2,1,2,1\},剩余编号为 3,5,6,23,5,6,2
  • 第九次操作后:a={1,2,1,1}a=\{1,2,1,1\},剩余编号为 5,6,2,35,6,2,3
  • 第十次操作后:a={2,1,1}a=\{2,1,1\},剩余编号为 6,2,36,2,3