View Code of Problem 609

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <iostream>
#include <cmath>
#include <vector>
#include <list>
#include <deque>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <string>
#include <algorithm>
using namespace std;

void SolvePositive(string &s,int k){
	while(k--){
		char maxNum=s[0];
		for(size_t i=1;i!=s.size();++i){
			if(maxNum<=s[i]){
				maxNum=s[i];
			}else{
				s.erase(i-1,1); break;
			}
		}		
	}
}
int main(void){
#if 0
	freopen("in.txt","r",stdin);
	//freopen("out.txt","w",stdout);
#endif
	string s; int k;
	while(cin>>s>>k){
		SolvePositive(s,k);
		int idx=-1;
		for(size_t i=0;i!=s.size();++i){
			if(s[i]!='0'){
				idx=i; break;
			}
		}
		if(-1==idx) cout<<0<<"\n";
		else{
			for(int i=idx;i!=s.size();++i){
				cout<<s[i];
			}
			cout<<"\n";
		}
	}
	return 0;
}




Double click to view unformatted code.


Back to problem 609