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

# | User | Rating |
---|---|---|

1 | tourist | 4009 |

2 | jiangly | 3839 |

3 | Radewoosh | 3646 |

4 | jqdai0815 | 3620 |

4 | Benq | 3620 |

6 | orzdevinwang | 3612 |

7 | Geothermal | 3569 |

8 | ecnerwala | 3494 |

9 | Um_nik | 3396 |

10 | gamegame | 3386 |

# | User | Contrib. |
---|---|---|

1 | maomao90 | 164 |

2 | Um_nik | 163 |

3 | atcoder_official | 158 |

3 | cry | 158 |

3 | -is-this-fft- | 158 |

6 | awoo | 156 |

7 | adamant | 154 |

7 | nor | 154 |

9 | TheScrasse | 153 |

10 | Dominater069 | 152 |

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

↑

↓

Codeforces (c) Copyright 2010-2024 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/11/2024 04:55:44 (i1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|

.

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.