CF1143A The Doors

题目描述

三年过去了,一切都没有改变。伦敦依然下着雨,Black 先生不得不关上家里的所有门,以免被淹。有一次,Black 先生变得非常紧张,他先打开了一扇门,然后又打开了一扇门,再打开一扇,如此反复,直到他把家里的所有门都打开了。 Black 先生的家有且只有两个出口,我们称之为左出口和右出口。每个出口都有若干扇门,因此家里的每一扇门都位于左出口或右出口。你知道每扇门的位置。最初所有门都是关闭的。只有当至少一个出口的所有门都被打开时,Black 先生才能离开家。现在给出 Black 先生打开门的顺序,请你找出最小的下标 $k$,使得在打开前 $k$ 扇门后,Black 先生可以离开家。 需要注意的是,Black 先生每扇门最多只打开一次,最后所有门都被打开。

输入格式

第一行包含一个整数 $n$($2 \le n \le 200\,000$),表示门的数量。 第二行包含 $n$ 个整数,表示 Black 先生打开门的顺序。第 $i$ 个整数为 $0$ 表示第 $i$ 个被打开的门位于左出口,为 $1$ 表示位于右出口。 保证至少有一扇门在左出口,至少有一扇门在右出口。

输出格式

输出一个最小的整数 $k$,使得在打开前 $k$ 扇门后,Black 先生可以离开家。

说明/提示

在第一个样例中,前两扇门都在左出口,所以当 Black 先生只打开这两扇门时,左出口还有两扇门未打开,右出口还有一扇门未打开,因此此时他还无法离开家。 当他打开第三扇门时,右出口的所有门都被打开,所以 Black 先生可以离开家。 在第二个样例中,前两扇门被打开后,每个出口都还有一扇门未打开。 当三扇门都被打开后,Black 先生可以通过左出口离开家。 由 ChatGPT 4.1 翻译