a,b如果a>b则删掉a是最优解:

证明:如果不删掉a,则以a开头,无论后面跟什么数,总是大于以b开头的数 

遍历的时候,维护一个单调栈,当当前元素小于单调栈顶元素时,则弹出单调栈,使单调栈单调不减,弹出的过程中,k--

当k为0,删除前导0后直接输出

当k不等于0但是已经遍历完,弹出栈顶元素,直至k为0

【贪心】移掉k位数字_单调栈

 

s=input()
k=int(input())
#加前导0,单调递增栈加最小值
l=[0]
for i in range(len(s)):
    while k and int(s[i])<int(l[-1]):
        l.pop()
        k-=1
    l.append(int(s[i]))
while k :
    k-=1
    l.pop()
if not l:
    print("0")
else:
  i=0
  while i<len(l) and l[i]==0:
    i+=1
  if i==len(l):
      print("0")
  else:
      print("".join(map(str,l[i:])))