CodeForces - 999D Equalize the Remainders

Equalize the Remainders
题 意:给你一个大小为n的数组,m是n的一个divisor。每次可以对ai+1,问最少的次数让数组中的每个元素除m 的余数 从0到m-1 各有n/m个。

*数据范围:
1<=n<=2e5
1<=m<=n

输入样例:

6 3
3 2 0 6 10 12

输出样例:

3
3 2 0 7 10 14 

思 路:这题是某一个区域赛签到题的一个基础。贪心的思路,如果这个余数已经达到n/m个了,那么就把下一个余数是这个的改成这个余数最近的且还没有满的。
用一个set先把所有的余数放进去。set是有序的,*set.rbegin()返回set中最小的一数,
*set.begin()返回set中最大的一个数,*set.lower_bound(x) 连二分查找都有。

#include
using namespace std;
typedef

你可能感兴趣的:(CodeForces - 999D Equalize the Remainders)