/*输入:
175438
4
*/
#include<iostream>
using namespace std;
string s;
int n;
int main()
{
//1.如果从高位向低位遍历的过程中,找到第一次出现左边大于右边的,就删掉左边的(删单整序列的最高位)
//2.如果数据各位满足单调递增的点,每次只删除最后一位
cin >> s >> n;
//规律1
while (n) {
int i = 0;
for (; i < s.size() - 1; i++) {
if (s[i] > s[i + 1]) {
s.erase(i, 1);
n--;
break;//继续从头遍历
}
}
if (i == s.size() - 1)break;//说明现在全是递增序列
}
//规律2
while (n--) s.erase(s.size() - 1);//一直删结尾
//高位清零
int pos = 0;
while (s[pos] == '0' && pos < s.size()) pos++;
for (int i = pos; i < s.size(); i++) cout << s[i];
return 0;
}
输入
175438
4
输出
13