题目:https://www.nowcoder.com/practice/9240357eefcf4d938b90bdd5eec3712b?tpId=90&tqId=30795&tPage=1&rp=1&ru=/ta/2018test&qru=/ta/2018test/question-ranking
#include
using namespace std;
bool cmp(const pair
return p1.second > p2.second;
}
int main()
{
string s;
int k;
while(cin >> s >> k){
map
for(auto ch:s)
++cnt[ch];
vector
for(auto it = cnt.begin();it != cnt.end();++it)
vec.push_back(make_pair(it->first,it->second));
int sz = vec.size();
while(k > 0){
sort(vec.begin(),vec.end(),cmp);
vec[0].second -= 1;
--k;
}
int sum = 0;
for(auto i = 0;i < sz;++i)
sum += vec[i].second * vec[i].second;
cout< } return 0; }