using
System;
class
GFG{
static
String getLargestString(String s,
int
k)
{
int
[]frequency_array =
new
int
[26];
for
(
int
i = 0; i < s.Length; i++)
{
frequency_array[s[i] -
'a'
]++;
}
String ans =
""
;
for
(
int
i = 25; i >= 0;)
{
if
(frequency_array[i] > k)
{
int
temp = k;
String st = String.Join(
""
,
(
char
)(i +
'a'
));
while
(temp > 0)
{
ans += st;
temp--;
}
frequency_array[i] -= k;
int
j = i - 1;
while
(frequency_array[j] <= 0 &&
j >= 0)
{
j--;
}
if
(frequency_array[j] > 0 &&
j >= 0)
{
String str = String.Join(
""
,
(
char
)(j +
'a'
));
ans += str;
frequency_array[j] -= 1;
}
else
{
break
;
}
}
else
if
(frequency_array[i] > 0)
{
int
temp = frequency_array[i];
frequency_array[i] -= temp;
String st = String.Join(
""
,
(
char
)(i +
'a'
));
while
(temp > 0)
{
ans += st;
temp--;
}
}
else
{
i--;
}
}
return
ans;
}
public
static
void
Main(String[] args)
{
String S =
"xxxxzza"
;
int
k = 3;
Console.Write(getLargestString(S, k));
}
}