测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题