输入:
n(高精度的正整数) k(需要删除的数字)
输出
最后剩下的最小数。
样例输入:
100006 1
样例输出:
6
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[300];
cin>>a;
int k;
cin>>k;
stack<char> v;
for(int i=0;i<strlen(a);i++){
if(k==0){
v.push(a[i]);
continue;
}
if(v.size()==0){
v.push(a[i]);
}else{
if(v.top()<=a[i]){
v.push(a[i]);
}else{
v.pop();
k--;
i--;
}
}
}
while(k>0){
v.pop();
k--;
}
int index=v.size();
char s[300]={};
while(!v.empty()){
s[v.size()]=v.top();
v.pop();
}
int x=1;
while(x<index&&s[x]=='0'){
x++;
}
for(int i=x;i<=index;i++){
cout<<s[i];
}
return 0;
}