### foxtrot9's blog

By foxtrot9, history, 10 months ago, , According problem statement and example in the problem statement, output of test case

10 1

589934963 440265648 161048053 196789927 951616256 63404428 660569162 779938975 237139603 31052281

should be 10 — 4 = 6.

(Sorted array for ref: 31052281 63404428 161048053 196789927 237139603 440265648 589934963 660569162 779938975 951616256)

Suppose l = 31052281 and r = 196789927, then I can store the file as following:

31052281 63404428 161048053 196789927 196789927 196789927 196789927 196789927 196789927 196789927

In this case, K = 4 (& k = 2) and I have changed 6 numbers which are > r. So, answer should be 6. Comments (3)
 » I think your misunderstanding is that you think $n$ should change as the number of distinct elements in the array changes, but $n$ is constant no matter what you do to the array. In the test case above, $n$ will always be $10$, meaning that the only valid $k$ is $0$ (where $K = 1$ and therefore all elements in the array are equal, so you need to change $n - 1 = 9$ elements). This seems to correspond with your proposed answer, as there are $4$ distinct elements in the array and $k = 2$, so it fits in the $8$ bit disk.