Skip to main content

Hacker Rank "Birthday Chocolate " Solution

Question : ---
Lily has a chocolate bar that she wants to share it with Ron for his birthday. Each of the squares has an integer on it. She decides to share a contiguous segment of the bar selected such that the length of the segment matches Ron's birth month and the sum of the integers on the squares is equal to his birth day. You must determine how many ways she can divide the chocolate.
Consider the chocolate bar as an array of squares, . She wants to find segments summing to Ron's birth day,  with a length equalling his birth month, . In this case, there are two segments meeting her criteria: .
Input Format
The first line contains an integer , the number of squares in the chocolate bar.
The second line contains  space-separated integers , the numbers on the chocolate squares where .
The third line contains two space-separated integers,  and , Ron's birth day and his birth month.
Constraints
  • , where ()
Output Format
Print an integer denoting the total number of ways that Lily can portion her chocolate bar to share with Ron.
Sample Input 0
5
1 2 1 3 2
3 2
Sample Output 0
2
Explanation 0
Lily wants to give Ron  squares summing to . The following two segments meet the criteria:
image
Sample Input 1
6
1 1 1 1 1 1
3 2
Sample Output 1
0
Explanation 1
Lily only wants to give Ron  consecutive squares of chocolate whose integers sum to . There are no possible pieces satisfying these constraints:
image
Thus, we print  as our answer.
Sample Input 2
1
4
4 1
Sample Output 2
1
Explanation 2
Lily only wants to give Ron  square of chocolate with an integer value of . Because the only square of chocolate in the bar satisfies this constraint, we print  as our answer
Solution : ---
<?php
/* Write your PHP code here */

$s = array(2, 5, 1, 3, 4, 4, 3, 5, 1, 1, 2, 1, 4, 1, 3, 3, 4, 2, 1,);
$m = 7;
$d = 18;
$count = 0;
$sum = 0;
if($m == 1){
for($i=0;$i<count($s);$i++){
if($s[$i] == $d){
$count++;
}
}
}else{
for($i=0;$i<count($s)-$m+1;$i++){
for($j=$i;$j<($i+$m);$j++){
$sum = $sum+$s[$j];
}
if($sum == $d){
$count++;
$sum = 0;
}
$sum = 0;
}
}
echo $count;
?>


Comments

Popular posts from this blog

PHP Hacker Rank Question "Birthday Cake Candles" solution !

You are in-charge of the cake for your niece's birthday and have decided the cake will have one candle for each year of her total age. When she blows out the candles, she’ll only be able to blow out the tallest ones. Your task is to find out how many candles she can successfully blow out. For example, if your niece is turning   years old, and the cake will have   candles of height  ,  ,  ,  , she will be able to blow out   candles successfully, since the tallest candle is of height   and there are   such candles. Function Description Complete the function  birthdayCakeCandles  in the editor below. It must return an integer representing the number of candles she can blow out. birthdayCakeCandles has the following parameter(s): k : the integer threshold of students on time for class to continue a : an array of integers representing student arrival times Input Format The first line...

PHP Hacker rank Question solution Mini-Max sum in PHP

Given five positive integers, find the minimum and maximum values that can be calculated by summing exactly four of the five integers. Then print the respective minimum and maximum values as a single line of two space-separated long integers. For example,  . Our minimum sum is   and our maximum sum is  . We would print 26 24 Function Description Complete the  miniMaxSum  function in the editor below. It should print two space-separated integers on one line: the minimum sum and the maximum sum of   of   elements. miniMaxSum has the following parameter(s): arr : an array of   integers Input Format A single line of five space-separated integers. Constraints Output Format Print two space-separated long integers denoting the respective minimum and maximum values that can be calculated by summing exactly  four  of the five integers. (The output can be greater than a 32 bi...

Hacker Rank "Division Sum pairs" solution

Question :--- You are given an array of   integers,  , and a positive integer,  . Find and print the number of   pairs where   and   +   is divisible by  . For example,   and  . Our three pairs meeting the criteria are   and  . Function Description Complete the  divisibleSumPairs  function in the editor below. It should return the integer count of pairs meeting the criteria. divisibleSumPairs has the following parameter(s): n : the integer length of array  ar : an array of integers k : the integer to divide the pair sum by Input Format The first line contains   space-separated integers,   and  . The second line contains   space-separated integers describing the values of  . Constraints Output Format Print the number of   pairs where   and   +  ...