你会得到一个数组a由n个整数组成。各ai是以下六个数字之一:4,8,15,16,23,42。
你的任务是删除此数组的最少的元素个数让它成为“好”数组。
数组a如果可被分成k(k>=0)个子序列 4,8,15,16,23,42,则数组a被称为好数组。
“好”数组的示例:
[4,8,15,16,23,42] (整个数组是必须的序列);
[4,8,4,15,16,8,23,15,16,42,23,42](第一个子序列由第一、第二、第四、第五、第七和第十元素构成,第二个子序列由剩余元素构成);
[] (空数组也是“好”数组)。
“坏”数组的示例:
[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] (第一个子序列可以由前六个元素组成,但其余的数不能形成所需的序列)。
前面没看懂也没关系,其实就是问最少要删除多少个元素能让该数组剩余的元素恰好组成k个(4,8,15,16,23,42)这样的序列,并且一个元素不能被分配到多个子序列里,比如数组a是[4,8,15,16,23,42,8,15,16,23,42],最少要删除5个 因为只有1个4,这个4可以是和第2、3、4、5、6个元素结合,也可以是和第7、8、9、10、11个元素结合,形成所要求的序列。
多组输入
输入的第一行包含一个整数n (1≤n≤5e5)。
输入的第二行包含n整数a1,a2,…,an。每个ai是下列数字之一:4,8,15,16,23,42。
输出一个整数表示为了获得“好”数组必须移除的最小元素数。
7 4 8 15 16 23 42 4 12 4 8 4 15 16 8 23 15 16 42 23 42 12 4 8 15 16 23 42 4 8 15 16 23 23
1 0 6