A33747. 老师在黑板上写了一个不超过 500 位的整数 n(1≤n<10500),要求同学们擦掉其中任意 k 个数字,剩余数字的顺序不变,希望得到的数最大。例如:n = 69134,k = 2,从 69134 中擦掉 2 个数字;从左往右,将第一个位置的 6 和第三个位置的1 擦掉,变成的新数 934 是最大的。输入描述输入两个整数 n 和 k(1≤n<10500,0≤k<n 的位数),整数之间以一个空格…
填空题
困难
知识点
题目描述
老师在黑板上写了一个不超过 500 位的整数 n(1≤n<10500),要求同学们擦掉其中任意 k 个数字,剩余数字的顺序不变,希望得到的数最大。
例如:n = 69134,k = 2,从 69134 中擦掉 2 个数字;从左往右,将第一个位置的 6 和第三个位置的1 擦掉,变成的新数 934 是最大的。

输入描述
输入两个整数 n 和 k(1≤n<10500,0≤k<n 的位数),整数之间以一个空格隔开
输出描述
输出一个整数,表示擦掉 k 个数字后,得到的最大数
样例输入
69134 2
样例输出
934
参考答案
s,n=input().split()
ls=list(s)
n=int(n)
for i in range(n):
t=True
for j in range(1,len(ls)):
if ls[j-1]<ls[j]:
ls.pop(j-1)
t=False
break
if t:
ls.pop()
s=''.join(ls)
print(s)
上一题
下一题