Guest User

Untitled

a guest
Nov 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. class Solution {
  2. public:
  3. int findKthNumber(int m, int n, int k) {
  4. int lo = 1, hi = m * n;
  5. while(lo < hi)
  6. {
  7. int mid = lo + (hi - lo) / 2;
  8. int i = count(m, n, mid);
  9. if(i >= k)
  10. hi = mid;
  11. else
  12. lo = mid + 1;
  13. }
  14. return lo;
  15. }
  16.  
  17. private:
  18. int count(int m, int n, int num)
  19. {
  20. int i = m, j = 1, res = 0;
  21. while(j <= n && i > 0)
  22. {
  23. while(i * j > num)
  24. --i;
  25. res += i;
  26. ++j;
  27. }
  28. return res;
  29. }
  30. };
Add Comment
Please, Sign In to add comment