#2728. T3:莆阳·寻座

T3:莆阳·寻座

题目描述

在莆田兴化府古街的莆阳书院里,小古作为书院的管理员,今天负责为前来自习的客人安排座位。书院共有 nn 个自习座位排成一排,依次编号为 1,2,,n1, 2, \dots, n

每个座位当前有一个占用状态 aia_iai=0a_i = 0 表示第 ii 号座位空闲,ai=1a_i = 1 表示第 ii 号座位已被占用。

现在有一位新客人来到书院,向小古提出想要坐在编号为 kk 的座位。小古的安排规则如下:

  1. 如果 kk 号座位空闲(即 ak=0a_k = 0),小古会直接将客人安排到 kk 号座位。
  2. 如果 kk 号座位已被占用,为了尽量满足客人的偏好,小古会从 kk 号座位开始,向后依次查看 k+1,k+2,,nk+1, k+2, \dots, n 号座位。如果碰到空闲座位,就安排客人入座。
  3. 如果一直走到走廊尽头的 nn 号座位都没有空位,小古会折返回起点,依次查看 1,2,,k11, 2, \dots, k-1 号座位,直到找到第一个空闲座位为止。

请你编写程序,帮助小古判断出这位客人最终会被安排到哪个编号的座位。

输入格式

第一行为一个正整数 nn

第二行包含 nn 个非负整数,第 ii 个数字表示 aia_i,相邻数字之间用一个空格隔开。

第三行为一个正整数 kk,表示客人期望分配的座位编号。

输出格式

输出仅一行,包含一个正整数,表示客人最终被安排到的座位编号。

样例

样例1

5
1 0 1 0 1
3
4

解释:客人想要 33 号座位,但 a3=1a_3 = 1(被占用)。小古向后查找,发现 44 号座位状态为 00(空闲),于是安排在 44 号座位。

样例2

5
1 1 1 0 1
4
4

解释:客人想要 44 号座位,由于 a4=0a_4 = 0,直接安排在 44 号座位。

样例3

5
1 0 1 1 1
4
2

解释:客人想要 44 号座位,但 4,54,5 号座位均被占用。小古走到尽头后折返回起点,发现 11 号被占用,但 22 号座位为空(a2=0a_2 = 0),于是安排在 22 号座位。

数据范围

对于 100100% 的数据,保证 1kn1061 \le k \le n \le 10^6ai0,1a_i \in {0,1},且保证序列中至少存在一个 ai=0a_i = 0

子任务 分值 数据范围与特殊性质
1 20 保证整个序列中只有一个 ai=0a_i = 0
2 保证 k=nk = n
3 n1000n \le 1000
4 40 无特殊限制