Alphabetic Removals(CodeForces - 999C )

You are given a string ss consisting of nn lowercase Latin letters. Polycarp wants to remove exactly kk characters (k≤nk≤n) from the string ss. Polycarp uses the following algorithm kk times:

  • if there is at least one letter 'a', remove the leftmost occurrence and stop the algorithm, otherwise go to next item;
  • if there is at least one letter 'b', remove the leftmost occurrence and stop the algorithm, otherwise go to next item;
  • ...
  • remove the leftmost occurrence of the letter 'z' and stop the algorithm.

This algorithm removes a single letter from the string. Polycarp performs this algorithm exactly kk times, thus removing exactly kk characters.

Help Polycarp find the resulting string.

Input

The first line of input contains two integers nn and kk (1≤k≤n≤4⋅1051≤k≤n≤4⋅105) — the length of the string and the number of letters Polycarp will remove.

The second line contains the string ss consisting of nn lowercase Latin letters.

Output

Print the string that will be obtained from ss after Polycarp removes exactly kk letters using the above algorithm kk times.

If the resulting string is empty, print nothing. It is allowed to print nothing or an empty line (line break).

Examples

input

15 3
cccaabababaccbc

output

cccbbabaccbc

input

15 9
cccaabababaccbc

output

cccccc

input

1 1
u

output

代码如下:

#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <string.h>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <ctime>
#define maxn 10007
#define N 107
#define INF 0x3f3f3f3f
#define PI acos(-1)
#define lowbit(x) (x&(-x))
#define eps 0.000000001
using namespace std;
typedef long long ll;
char a[411111];
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=0; i<n; i++)
        cin>>a[i];
    for(int j=0; j<26; j++)
    {
        for(int i=0; i<n; i++)
        {
            if(a[i]-'a'==j)
            {
                a[i]='0';
                m--;
            }
            if(m==0)
                break;
        }
        if(m==0)
            break;
    }
    for(int i=0; i<n; i++)
        if(a[i]>='a'&&a[i]<='z')
            cout<<a[i];
    return 0;
}

猜你喜欢

转载自blog.csdn.net/baiyi_destroyer/article/details/81122864