题目:
键盘输入一个高精度的正整数n(<=240位),
去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。
编程对给定的n和s,寻找一种方案,使得剩下的数最小。
Simple Input
178543
4
Simple Output
13
//每次删除第一个单调递减首元素, 没有的话删除最后一个(最大元素)
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
int cnt, n, flag;
string str;
cin>>str>>n;
cnt = 0;
while(cnt < n)
{
flag = 1;
for(int i = 0; i < str.length()-1; i++)
{
if(str[i] > str[i+1])
{
str.erase(i, 1);
cnt++;
flag = 0;
break;
}
}
if(flag)
{
str.erase(str.length()-1, 1);
cnt++;
}
}
cout<<str<<endl;
return 0;
}