题目分析:
每次删除1个数字,使得剩下数字组成的整数最大。
从前往后遍历,当遇到前一个数字小于后一个数字时,就将前一个数字删掉,并结束本次遍历,例如,325,2比5小,删除2。
去掉cnt个数字,因此循环cnt次。
由于题目中整数长度最大为50000,因此不用int,用string。
代码如下:
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cin>>str;
int cnt;
cin>>cnt;
for(long long i=0;i<cnt;i++)
{
long long j=0;
while( j+1<str.size() && str[j]>=str[j+1])
j++;
str.erase(j,1);
}
cout<<str;
system("pause");
return 0;
}