For this Question: Everyone loves having chocolates. Saloni loves having chocolates more than anyone. 
She has n bags having a[1], a[2], ..., a[n] number of chocolates. In one unit time, she can choose any bag a[i], eat all a[i] chocolates and then fill the bag with floor(a[i]/2) chocolates.

Find the maximum number of chocolates she can eat in k units of time.The first line of the input contains an integer n and k, the number of bags Saloni has and the units of time she will eat.
The second line of input contains n integers, the number of chocolates in ith bag.

Constraints
1 <= n, k <= 100000
1 <= a[i] <= 1000000000Output a single integer, the maximum number of chocolates she can have in k units of time.Sample Input
3 3
7 5 1 

Sample Output
15

Explanation
In 1st unit time, she will eat from 1st bag (7 chocolates)
In 2nd unit time, she will eat from 2nd bag (5 chocolates)
In 3rd unit time, she will eat from 1st bag (3 chocolates), I have written this Solution Code: #include "bits/stdc++.h"
#pragma GCC optimize "03"
using namespace std;
 
#define int long long int
#define ld long double
#define pi pair<int, int>
#define pb push_back
#define fi first
#define se second
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#ifndef LOCAL
#define endl '\n'
#endif
 
const int N = 2e5 + 5;
const int mod = 1e9 + 7;
const int inf = 1e9 + 9;

signed main() {
	IOS;
	int n, k;	cin >> n >> k;
	priority_queue<int> s;
	for(int i = 1; i <= n; i++){
		int p;	cin >> p;
		s.push(p);
	}	
	int ans = 0;
	while(k--){
		int x = s.top();
		s.pop();
		ans += x;
		s.push(x/2);
	}
	cout << ans;
	return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?