Given an array of integers and an integer m, in one operation, choose atmost m numbers of the array and increment them.
What is the minimum no of operations to make all the elements in the array equal?
1 <= nums[i] <= 1e5
1 <= m <= 1e5
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Given an array of integers and an integer m, in one operation, choose atmost m numbers of the array and increment them.
What is the minimum no of operations to make all the elements in the array equal?
1 <= nums[i] <= 1e5
1 <= m <= 1e5
Название |
---|
.
assuming the numbers are incremented by one i think you can just sort the array and the biggest value minus the smallest would be the answer
why are you people upvoting my wrong solution this solution is wrong i posted the right one in the replies grahhhhh
nevermind i realized the issue with this approach i am so terrible at this. this doesnt work if the m integer is smaller
then i think you just sort an array and then while the smallest integer is smaller than the biggest you increment the smallest integers in the array with a for loop if the array is not smaller then the loop breaks
we add 1 to the counter and sort the array at the end of a while loop as well
i have no idea how to phrase any of this better i myself am probably on the same level of coding
heres the lump of python code that I THINK works:
bro do paste the question link
https://www.hackerrank.com/contests/coderit-coding-day-january-chapter/challenges/sab-barabar
I think this works.
Yes your solution is correct. Thanks a lot!
i think u just have to sum the difference between max and every other element in the array, and then divide the sum by m, ceil(sum), to ensure that if there were remainders, it can be rounded up.