All Tracks Data Structures Advanced Data Structures Segment Trees Problem

Minimum Flip

Advanced Data Structures, Data Structures, Medium-Hard, Segment tree


You are given an array of $$N$$ numbers.

An operation on the array is defined as :

Select a non-empty subarray of the array and a number $$j$$. Now flip the $$j$$-th bit of all the elements of this subarray.

Output the minimum sum of the elements of the given array that can be obtained after doint the above operation at most $$K$$ times.

Input Format

The first line contains two integers $$N$$ and $$K$$ ($$1 \le N \le 10^5$$, $$1 \le K \le 10^9$$), denoting the number of elements in the array and the maximum number of operations allowed.

The second line contains $$N$$ integers $$A_1, A_2, \ldots, A_n$$ ($$1 \le A_i \le 10^6$$), the elements of the array.

Output Format

Output the minimum sum of elements that can be obtained by applying the operation at most $$K$$ times.

5 2
5 4 5 1 5

In First operation, select subarray [5, 4, 5] and flip their most significant bit. After this operation, array becomes [1, 0, 1, 1, 5].

In Second operations, select last element as subarray and flip its most significant bit. After this operation, array becomes [1, 0, 1, 1, 1].

This is the best we can do in 2 operations. So, the anser is 4.

Time Limit: 4.0 sec(s) for each input file.
Memory Limit: 256 MB
Source Limit: 1024 KB

Best Submission

Similar Problems


This Problem was Asked in

Initializing Code Editor...
View All Notifications