动态规划、前缀和
令输入的序列为 $a$,将输入中的 $2$ 改为 $-1$,区间 $[l,r]$ 中两种膜拜者人数之差不大于 $m$ 即 $\left| \sum\limits_{i=l}^{r} a_i \right| \leq m$,区间 $[l,r]$ 都是同种膜拜者即 $\left| \sum\limits_{i=l}^{r} a_i \right| = r-l+1$。
设计 $dp_i$ 为安置前 $i$ 个人需要的最小机房数量,枚举所有小于 $i$ 的位置并使用前缀和判定合法性后转移,答案即 $dp_n$。