Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author : Saurav Kalsoor
- // Basket Full of Balls - JAVA
- import java.util.*;
- public class Test {
- static Scanner sc = new Scanner(System.in);
- public static void main(String[] args) {
- int n = sc.nextInt();
- int k = sc.nextInt();
- ArrayList<Integer> arr = new ArrayList<>();
- for(int i=0; i < n ;i++){
- arr.add(sc.nextInt());
- }
- System.out.println(bucketFullOfBalls(n, k, arr));
- }
- public static int bucketFullOfBalls(int n, int k, ArrayList<Integer> arr){
- HashMap<Integer, Integer> count = new HashMap<>();
- for(int x : arr){
- count.put(x, count.getOrDefault(x, 0) + 1);
- }
- ArrayList<Integer> temp = new ArrayList<>();
- for(Map.Entry<Integer, Integer> m : count.entrySet()){
- if(m.getValue() >= k){
- temp.add(m.getKey());
- }
- }
- int m = temp.size();
- if(m == 0){
- return -1;
- }
- int l = temp.get(0), r = l, i = 1;
- while(i < m){
- int j = i - 1;
- while(i < m && temp.get(i) == temp.get(i-1) + 1){
- i++;
- }
- i--;
- if(temp.get(i) - temp.get(j) > r - l){
- l = temp.get(j);
- r = temp.get(i);
- }
- i+=2;
- }
- return r - l;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement