Advertisement
HasanRasulov

lowest.cpp

Dec 22nd, 2019
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. #include<algorithm>
  4. std::string lowest_number(std::string str, int k) {
  5.  
  6.         std::string res="";
  7.        
  8.     if (k == 0){
  9.         res.append(str);
  10.         return res;
  11.     }
  12.  
  13.    
  14.  
  15.     if (str.length() <= k)
  16.         return res;
  17.  
  18.    
  19.    
  20.     int min = 0;
  21.     for (int i = 1; i<=k ; i++)
  22.         if (str[i] < str[min])
  23.             min = i;
  24.  
  25.    
  26.     res+=str[min];
  27.  
  28.      
  29.     return res + lowest_number(str.substr(min+1), k-min);
  30. }
  31.  
  32.  
  33.  
  34. int main()
  35. {
  36.     std::string str = "100100111",res="";
  37.     int k = 2;
  38.     res = lowest_number(str, k);
  39.  
  40.         size_t pos=0;  
  41.  
  42.         for(size_t i=0;i<res.length();i++){
  43.            if(res[i]=='0') pos++;
  44.            else break;  
  45.         }        
  46.        
  47.         res.erase(0,pos);  
  48.  
  49.         std::cout<<res;  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement