Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public int kadanes(int[] arr, int n, int k) {
- int res = Integer.MIN_VALUE;
- int sum = 0;
- TreeSet<Integer> set = new TreeSet<>();
- set.add(0);
- for(int el: arr) {
- sum += el;
- int toDecrease = sum - k;
- Integer remove = set.ceiling(toDecrease);
- if(remove != null)
- res = Math.max(res, sum - remove);
- set.add(sum);
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment