C. Lose it!
dp; greedy; implementation
You are given an array \(a\) consisting of \(n\) integers. Each \(a_i\) 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 \(\frac{k}{6}\) 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).
The first line of the input contains one integer \(n\) (\(1 \le n \le 5 \cdot 10^5\)) — the number of elements in \(a\).The second line of the input contains \(n\) integers \(a_1, a_2, \dots, a_n\) (each \(a_i\) is one of the following numbers: \(4, 8, 15, 16, 23, 42\)), where \(a_i\) is the \(i\)-th element of \(a\).
Print one integer — the minimum number of elements you have to remove to obtain a good array.