比赛 20160412 评测结果 AWWWWWWEEE
题目名称 饭堂 最终得分 10
用户昵称 Jobs.T 运行时间 0.235 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-04-12 11:15:53
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
using namespace std;
int fa[15],maxi,num,cnt=1,ans;
int main()
{
	freopen("fancy.in","r",stdin);
	freopen("fancy.out","w",stdout);
	int n,k;
	cin>>n>>k;
	getchar();
	char tmp[1005];
	for(int i=1;i<=n;i++)
	{
		tmp[i]=getchar();
		while(tmp[i]>'9'||tmp[i]<'0') tmp[i]=getchar();
		fa[tmp[i]-48]++;
	}
	for(int i=0;i<=9;i++)
	{
		if(fa[i]>maxi)
		{
			maxi=fa[i];
			num=i;
		}
	}
	while(maxi<k)
	{
		for(int i=n;i>=1;i--)
		{
			int t=abs(num-tmp[i]+48);
			if(t<=cnt&&t)
			{
				ans+=t;
				tmp[i]=num+48;
				maxi++;
			}
		}
		cnt++;
	}
	cout<<ans<<"\n";
	for(int i=1;i<=n;i++)
		cout<<tmp[i];
	return 0;
}