CF1176C.Lose it!
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a consisting of n integers. Each ai is one of the six following numbers: 4,8,15,16,23,42.
Your task is to remove the minimum number of elements to make this array good.
An array of length k is called good if k is divisible by 6 and it is possible to split it into 6k subsequences 4,8,15,16,23,42.
Examples of good arrays:
- [4,8,15,16,23,42] (the whole array is a required sequence);
- [4,8,4,15,16,8,23,15,16,42,23,42] (the first sequence is formed from first, second, fourth, fifth, seventh and tenth elements and the second one is formed from remaining elements);
- [] (the empty array is good).
Examples of bad arrays:
- [4,8,15,16,42,23] (the order of elements should be exactly 4,8,15,16,23,42);
- [4,8,15,16,23,42,4] (the length of the array is not divisible by 6);
- [4,8,15,16,23,42,4,8,15,16,23,23] (the first sequence can be formed from first six elements but the remaining array cannot form the required sequence).
给你一个包含 n 个整数的数组 a。每个 ai 均为以下六个数之一:4,8,15,16,23,42。
你的任务是删除最少数量的元素,使得该数组变为“好”数组。
长度为 k 的数组被称为“好”数组,当且仅当 k 能被 6 整除,且该数组可以被划分为 6k 个子序列,每个子序列恰好为 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](前六个元素可构成第一个序列,但剩余数组无法构成所需的序列)。
输入格式
The first line of the input contains one integer n (1≤n≤5⋅105) — the number of elements in a.
The second line of the input contains n integers a1,a2,…,an (each ai is one of the following numbers: 4,8,15,16,23,42), where ai is the i-th element of a.
输入的第一行包含一个整数 n(1≤n≤5⋅105)—— 表示数组 a 的元素个数。
输入的第二行包含 n 个整数 a1,a2,…,an(每个 ai 均为以下数字之一:4,8,15,16,23,42),其中 ai 是数组 a 的第 i 个元素。
输出格式
Print one integer — the minimum number of elements you have to remove to obtain a good array.
输出一个整数——为得到一个“好”数组所需移除的最少元素个数。
输入输出样例
输入#1
5 4 8 15 16 23
输出#1
5
输入#2
12 4 8 4 15 16 8 23 15 16 42 23 42
输出#2
0
输入#3
15 4 8 4 8 15 16 8 16 23 15 16 4 42 23 42
输出#3
3
输入解题思路,AI测评打分。不知道怎么写?