№ |
Отправитель |
Задача |
Язык |
Вердикт |
Время |
Память |
Отослано |
Протест. |
|
135918091 |
Дорешивание:
hxhhxh |
999D
- 32
|
C++14 (GCC 6-32)
|
Полное решение
|
482 мс
|
9588 КБ
|
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]<<" ";
}
Время: ? ms, память: ? КБ