classSolution{public:intmaxFrequency(vector<int>& nums,int k){int l =0, r = nums.size();//二分最大可能频数sort(nums.begin(), nums.end());int n = nums.size();auto check =[&](auto check,int mid){longlong s =0;for(longlong i =0, j =0; i < n; i ++){if(i - j +1< mid) s += nums[i];else{
s += nums[i];if((longlong)mid * nums[i]- s <= k)returntrue;
s -= nums[j ++];}}returnfalse;};while(l < r){int mid =(l + r +1)>>1;if(check(check, mid)) l = mid;else r = mid -1;}return l;}};