#include <bits/stdc++.h>
using
namespace
std;
void
findMostFrequent(
int
arr[],
int
N,
int
K)
{
int
start = 0, end = 0;
sort(arr, arr + N);
int
mostFreq = INT_MIN, sum = 0;
for
(end = 0; end < N; end++) {
sum = sum + arr[end];
while
(sum + K < arr[end] * (end - start + 1)) {
sum = sum - arr[start];
start++;
}
mostFreq = max(mostFreq,
end - start + 1);
}
int
reqSum = arr[N - 1] * N - sum;
if
(mostFreq == N && reqSum < K) {
K = K - reqSum;
if
(K % N == 0) {
cout << N << endl;
}
else
{
cout << N - 1 << endl;
}
return
;
}
cout << mostFreq << endl;
}
int
main()
{
int
arr[] = { 4, 3, 4 };
int
K = 5;
int
N =
sizeof
(arr) /
sizeof
(arr[0]);
findMostFrequent(arr, N, K);
return
0;
}
Original page link
Best Cool Tech Gadgets
Top favorite technology gadgets
0 comments:
Post a Comment