AT_abc423_c [ABC423C] Lock All Doors

题目描述

有 $N+1$ 个房间按一条直线排列,依次编号为 $0, 1, \ldots, N$。 在这些房间之间有 $N$ 扇门,编号为 $1, 2, \ldots, N$。第 $i$ 扇门位于房间 $i-1$ 和房间 $i$ 之间。 对于每扇门,给定一个值 $L_i$ 表示门的锁定状态。当 $L_i=0$ 时,第 $i$ 扇门未上锁;当 $L_i=1$ 时,第 $i$ 扇门已上锁。 Takahashi 最初在房间 $R$,他只有在第 $i$ 扇门未上锁时,才能在房间 $i-1$ 和房间 $i$ 之间移动。此外,他只有在位于房间 $i-1$ 或房间 $i$ 时,才能对第 $i$ 扇门进行**切换操作**。当对第 $i$ 扇门进行切换操作时,如果门处于未上锁状态,则会变为上锁;如果门处于上锁状态,则会变为未上锁。 请你求出,将所有门全部上锁所需的最少切换操作次数。

输入格式

输入从标准输入读取,格式如下: > $N\ R\ L_1\ L_2\ \ldots\ L_N$

输出格式

输出答案。

说明/提示

## 样例解释 1 Takahashi 可以按如下操作,以 6 次切换操作使所有门全部上锁: - 移动到房间 $2$。 - 对第 $2$ 扇门进行切换操作,将第 $2$ 扇门锁上。 - 移动到房间 $3$。 - 对第 $4$ 扇门进行切换操作,将第 $4$ 扇门解锁。 - 对第 $3$ 扇门进行切换操作,将第 $3$ 扇门锁上。 - 移动到房间 $4$。 - 对第 $4$ 扇门进行切换操作,将第 $4$ 扇门锁上。 - 移动到房间 $5$。 - 对第 $5$ 扇门进行切换操作,将第 $5$ 扇门锁上。 - 对第 $6$ 扇门进行切换操作,将第 $6$ 扇门锁上。 ## 数据范围 - $2 \leq N \leq 2 \times 10^5$ - $0 \leq R \leq N$ - $L_i \in \lbrace 0, 1 \rbrace$ - 所有输入都是整数。 由 ChatGPT 5 翻译