Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
148269701 Дорешивание:
huixiaoge
999D - 32 C++14 (GCC 6-32) Полное решение 499 мс 9580 КБ 2022-03-04 12:35:53 2022-03-04 12:35:53
→ Исходный код
#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
long long int a[N],cnt[N],n,m,ans;
set<int>s;
int main(void)
{
	cin>>n>>m;
	for(int i=0;i<m;i++) s.insert(i);
	int k=n/m;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		int d=a[i]%m,x;
		if(d>*s.rbegin()) x=*s.begin();
		else x=*s.lower_bound(d);
		cnt[x]++;
		if(cnt[x]==k) s.erase(x);
		ans+=(x-d+m)%m;
		a[i]+=(x-d+m)%m;
	}
	cout<<ans<<endl;
	for(int i=0;i<n;i++) cout<<a[i]<<" ";
	return 0;
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования