# |
Author |
Problem |
Lang |
Verdict |
Time |
Memory |
Sent |
Judged |
|
135918091 |
Practice:
hxhhxh |
999D
- 32
|
C++14 (GCC 6-32)
|
Accepted
|
482 ms
|
9588 KB
|
2021-11-17 04:00:50 |
2021-11-17 04:00:50 |
|
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[200005],c[200005],m,n,ans=0;
set<int>s;
signed main(){
cin>>n>>m;
for(int i=0;i<m;i++)s.insert(i);
for(int i=1,j,k;i<=n;i++){
cin>>a[i];
j=a[i]%m;
if(j>*s.rbegin())k=*s.begin();
else k=*s.lower_bound(j);
if(++c[k]==n/m) s.erase(k);
ans+=(k-j+m)%m;
a[i]+=(k-j+m)%m;
}
cout<<ans<<endl;
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
}
Click to see test details