LiftStoppages - gopichandnishad/Codility GitHub Wiki

import java.util.HashSet; import java.util.Set;

public class Main {

public static void main(String[] args) {
	int[] A = {40, 40, 100, 80, 20, 60, 50, 100};
	int[] B = {3, 3, 2, 2, 3, 1, 2, 3};
	int M = 3, X = 5, Y = 200;
	
	System.out.println("Totol number of lift stoppage are: " + solution(A, B, M, X, Y));
}

static int solution(int[] A, int[] B, int M, int X, int Y){
	int peopleLoaded=0, peopleWeight=0, stop=0;
	Set<Object> set;
	set = new HashSet<>();
	for(int i=0; i < A.length; i++)
		{
			if((peopleLoaded++ <= X) && ((peopleWeight + A[i]) <= Y)){
				set.add(B[i]);
				//System.out.println("Before " + peopleWeight);
				peopleWeight += A[i];
				//System.out.println("After " + peopleWeight);
				peopleLoaded++;
				if((i+1) == A.length){
					stop += set.size() + 1;
					
					return stop;
				}
				continue;
			}
			i--;
			stop += set.size() + 1;
			set = new HashSet<>();
			peopleWeight=0;
			peopleLoaded=0;
		}
	return stop;
}

}

⚠️ **GitHub.com Fallback** ⚠️