fork(3) download
  1. #include <iostream>
  2. #include <stack>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. int main ()
  7. {
  8. long N, K;
  9. cin>>N>>K;
  10. stack <int> S;
  11. for (long i=1; i<=N; i++)
  12. {
  13. char tmp_char;
  14. cin>>tmp_char;
  15. int tmp_int = tmp_char - '0';
  16. if (S.empty())
  17. {
  18. S.push(tmp_int);
  19. }
  20. else
  21. {
  22. while (!S.empty() && tmp_int > S.top() && K>0)
  23. {
  24. S.pop();
  25. K--;
  26. }
  27. S.push(tmp_int);
  28. }
  29. }
  30. while (K>0 && !S.empty())
  31. {
  32. S.pop();
  33. K--;
  34. }
  35. vector <int> smallest;
  36. while (!S.empty())
  37. {
  38. int tmp=S.top();
  39. S.pop();
  40. smallest.push_back(tmp);
  41. }
  42. for (long i=smallest.size()-1; i>=0; i--)
  43. cout<<smallest[i];
  44. return 0;
  45. }
Success #stdin #stdout 0s 16064KB
stdin
6 3
170803
stdout
803