CF958F2 Lightsabers (medium)

题目描述

银河参议院动荡不安。数千个星系宣布打算脱离共和国。Heidi 大师需要挑选绝地武士前往银河系各地执行维和任务。众所周知,任何维和任务的成功都取决于参与任务的绝地武士光剑的颜色。 Heidi 面前站着 $n$ 名绝地武士,每人手持一种 $m$ 种可能颜色之一的光剑。她知道,为了让任务最有效,她需要选择一段连续的武士,使得其中恰好有 $k_1$ 名光剑为第一种颜色的武士,$k_2$ 名光剑为第二种颜色的武士,……,$k_m$ 名光剑为第 $m$ 种颜色的武士。 然而,自上次以来,她已经认识到并非总能选出这样的一段区间。因此,她决定让一些绝地武士去塔图因附近的某些坑边无限期无薪休假,你懂的。请你帮助 Heidi 决定,最少需要让多少名绝地武士离开,才能使剩下的武士序列中存在一段区间,满足每种颜色的光剑数量正好等于要求的数量。

输入格式

输入的第一行包含两个整数 $n$($1 \leq n \leq 2 \cdot 10^{5}$)和 $m$($1 \leq m \leq n$)。第二行包含 $n$ 个整数,范围为 $1,2,\ldots,m$,表示每位绝地武士光剑的颜色。第三行包含 $m$ 个整数 $k_1, k_2, \ldots, k_m$(满足 $k_1 + k_2 + \cdots + k_m \leq n$),表示每种颜色光剑的武士所需的人数。

输出格式

输出一个整数,表示最少需要移除多少名绝地武士,才能使剩下的序列中存在一段区间,满足每种颜色光剑数量正好等于要求的数量。如果无法做到,输出 $-1$。

说明/提示

由 ChatGPT 4.1 翻译