题目描述
分析题目,发现就是要小数尽可能靠前,用单调栈来做
c o d e code code
#include<iostream>
#include<cstdio>
using namespace std;
int n, k, tl;
string s;
char st[1010101];
int main()
{
scanf("%d", &n);
cin>>s;
scanf("%d", &k);
for(int i=0; i<n; i++)
{
while(tl>0&&st[tl]>s[i]&&k>0)
tl--, k--;
st[++tl]=s[i];
}
int flag=0;
for(int i=1; i<=tl-k; i++)
{
if(flag==0&&st[i]=='0')
continue;
printf("%c", st[i]);
flag=1;
}
if(flag==0)
printf("0");
return 0;
}