我们要删除t个字符使得字符的字典序最小。我们想一下,要是想让一个字符串的字典序最小,最好是从小到大排列的,也就是说,我们想尽量把前面的大一些的删掉,也就是靠前面的,比后面的字符大一些的字符删掉,否则,如果我们把这个机会让给别的字符,由于靠前面的有更大的字符,字符串又是相同长度的,所以这样字符串的字典序会增加,具体实现代码如下所示:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
string s;
int t;
cin>>s>>t;
while(t--)
{
for(int i=0;i<s.size();++i)
{
if(i<s.size()-1&&s[i]>s[i+1])
{
s.erase(i,1);
break;
}
}
}
cout<<s<<endl;
return 0;
}