#668. 锁门

锁门

题目描述

N+1N+1 个房间排成一行,按顺序编号为 0,1,,N0,1,\dots,N

房间之间有 NN 扇门,编号为 1,2,,N1,2,\dots,N。门 ii 位于房间 i1i-1 与房间 ii 之间。

对于每扇门,给出一个值 LiL_i 表示其上锁状态:当 Li=0L_i=0 时门 ii 处于未上锁状态;当 Li=1L_i=1 时门 ii 处于已上锁状态。

高桥先生最初位于房间 RR,且只有当门 ii 为未上锁时,才可以在房间 i1i-1ii 之间移动。此外,当且仅当他位于房间 i1i-1 或房间 ii 时,他才可以对门 ii 执行一次“切换”操作(若当前为未上锁,则切换为已上锁;若当前为已上锁,则切换为未上锁)。

求使 所有门均为已上锁状态 所需的最小切换操作次数。

输入格式

输入共两行

  • 第一行两个正整数 NN, RR,由空格隔开;
  • 第二行 NN 个由空格隔开的正整数,第 ii (1iN)(1 \le i \le N) 个正整数表示 LiL_i

输出格式

输出一个整数,表示使所有门都上锁所需的最少切换操作次数。

样例输入 1

6 3
1 0 0 1 0 0

样例输出 1

6

样例输入 2

2 1
0 0

样例输出 2

2

样例输入 3

8 2
0 1 0 0 1 0 1 1

样例输出 3

8

说明

样例 1 解释

高桥先生 可以按如下方式用 66 次切换操作使所有门上锁:

  1. 向左移动到房间 22
  2. 对门 22 执行一次切换使其上锁;
  3. 移动到房间 33
  4. 对门 44 执行一次切换(将门 44 解锁);
  5. 对门 33 执行一次切换使其上锁;
  6. 移动到房间 44
  7. 对门 44 再次切换使其上锁;
  8. 移动到房间 55
  9. 对门 55 执行一次切换使其上锁;
  10. 对门 66 执行一次切换使其上锁。

数据范围

  • 2N2×1052\le N\le 2\times 10^5
  • 0RN0\le R\le N
  • Li0,1L_i\in{0,1} 对所有 1iN1\le i\le N 成立;
  • 所有输入值均为整数。