# 删数问题
## 题目描述
键盘输入一个高精度的正整数 N(不超过 250 位),去掉其中任意 k 个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 N 和 k,寻找一种方案使得剩下的数字组成的新数最小。
## 输入格式
输入两行正整数。
第一行输入一个高精度的正整数 n。
第二行输入一个正整数 k,表示需要删除的数字个数。
## 输出格式
输出一个整数,最后剩下的最小数。
### 样例输入
175438
4
### 样例输出
13
//每次找到数列中第一个峰值的数,删去即可
//如样例,删'7',再删'5',再删'4',最后删'8',得到'13'.
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e6+10;
char s[N];
int k;
signed main()
{
cin>>s>>k;
int j,n;
while (k--)
{
j=0;
n=strlen(s);
while (s[j]<=s[j+1]&&j<n) j++;
while (j<=n) s[j]=s[j+1],j++;
}
j=0;
n=strlen(s);
cout<<n<<endl;
while (s[j]=='0'&&j<n-1)j++;
printf("%s",&s[j]);
return 0;
}