CF1176C Lose it!

题目描述

给定一个包含 $n$ 个整数的数组 $a$。每个 $a_i$ 都是以下六个数字之一:$4, 8, 15, 16, 23, 42$。 你的任务是移除最少数量的元素,使得该数组变为“好数组”。 长度为 $k$ 的数组被称为“好数组”,当且仅当 $k$ 能被 $6$ 整除,并且可以将其分成 $\frac{k}{6}$ 个子序列,每个子序列为 $4, 8, 15, 16, 23, 42$。 “好数组”的示例: - $[4, 8, 15, 16, 23, 42]$(整个数组就是所需的序列); - $[4, 8, 4, 15, 16, 8, 23, 15, 16, 42, 23, 42]$(第一个序列由第 1、2、4、5、7、10 个元素组成,第二个序列由剩余元素组成); - $[]$(空数组也是好数组)。 “坏数组”的示例: - $[4, 8, 15, 16, 42, 23]$(元素顺序必须严格为 $4, 8, 15, 16, 23, 42$); - $[4, 8, 15, 16, 23, 42, 4]$(数组长度不能被 $6$ 整除); - $[4, 8, 15, 16, 23, 42, 4, 8, 15, 16, 23, 23]$(前六个元素可以组成一个序列,但剩下的元素无法组成所需的序列)。

输入格式

第一行包含一个整数 $n$($1 \le n \le 5 \cdot 10^5$),表示数组 $a$ 的元素个数。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$(每个 $a_i$ 是 $4, 8, 15, 16, 23, 42$ 之一),其中 $a_i$ 是数组 $a$ 的第 $i$ 个元素。

输出格式

输出一个整数,表示你需要移除的最少元素数量,使得数组变为好数组。

说明/提示

由 ChatGPT 4.1 翻译