class Solution {
public long rearrange(int x) {
int[]freqarray =new int[10];
int result=0;
while(x>0){
int digit=x%10;
freqarray[digit]++;
x=x/10;
}
for(int digit=9;digit>=0;digit--){
while(freqarray[digit] > 0){
result=result*10+digit;
freqarray[digit]--;
}
}
return result;
}
public long maximizeSum(int[] nums, int k) {
int n=nums.length;
long[]gain =new long[n];
long sum_orig=0;
for(int i=0;i<n;i++){
sum_orig+=nums[i];
}
for(int i=0;i<n;i++){
gain[i]=rearrange(nums[i])-nums[i];
}
long res=0;
int c=0;
for(int i=n-1;i>=0;i--){
c++;
if(c>k){
break;
}
res+=gain[i];
}
res+=sum_orig;
return res;
}
}
Y2xhc3MgU29sdXRpb24gewogICAgcHVibGljIGxvbmcgcmVhcnJhbmdlKGludCB4KSB7CiAgICAgIGludFtdZnJlcWFycmF5ID1uZXcgaW50WzEwXTsKICAgICAgaW50IHJlc3VsdD0wOwogICAgIAogICAgICB3aGlsZSh4PjApewogICAgICAgIGludCBkaWdpdD14JTEwOwogICAgICAgIGZyZXFhcnJheVtkaWdpdF0rKzsKICAgICAgICB4PXgvMTA7CiAgICAgIH0gICAgICAgIAoKICAgICAgZm9yKGludCBkaWdpdD05O2RpZ2l0Pj0wO2RpZ2l0LS0pewogICAgICAgIHdoaWxlKGZyZXFhcnJheVtkaWdpdF0gPiAwKXsKICAgICAgICAgICAgcmVzdWx0PXJlc3VsdCoxMCtkaWdpdDsKICAgICAgICAgICAgZnJlcWFycmF5W2RpZ2l0XS0tOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0KICAgIHB1YmxpYyBsb25nIG1heGltaXplU3VtKGludFtdIG51bXMsIGludCBrKSB7CiAgICAgICAgaW50IG49bnVtcy5sZW5ndGg7CiAgICAgICAgbG9uZ1tdZ2FpbiA9bmV3IGxvbmdbbl07CiAgICAgICAgCiAgICAgICAgbG9uZyBzdW1fb3JpZz0wOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgIHN1bV9vcmlnKz1udW1zW2ldOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgZ2FpbltpXT1yZWFycmFuZ2UobnVtc1tpXSktbnVtc1tpXTsKICAgICAgICB9CiAgICAgICAgQXJyYXlzLnNvcnQoZ2Fpbik7CiAgICAgICAgCiAgICAgICAgbG9uZyByZXM9MDsKICAgICAgICBpbnQgYz0wOwogICAgICAgIGZvcihpbnQgaT1uLTE7aT49MDtpLS0pewogICAgICAgICAgICBjKys7CiAgICAgICAgICAgIGlmKGM+ayl7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXMrPWdhaW5baV07CiAgICAgICAgfQogICAgICAgIHJlcys9c3VtX29yaWc7CgogICAgICAgIHJldHVybiByZXM7CiAgICB9Cn0=