HackerRank Halloween Sale Solution

Hello Programmers, In this post, you will know how to solve the HackerRank Halloween Sale Solution. This problem is a part of the HackerRank Algorithms Series.

HackerRank Halloween Sale Solution
HackerRank Halloween Sale Solution

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

HackerRank Halloween Sale Solution

Task

You wish to buy video games from the famous online video game store Mist.

Usually, all games are sold at the same price, p dollars. However, they are planning to have the seasonal Halloween Sale next month in which you can buy games at a cheaper price. Specifically, the first game will cost p dollars, and every subsequent game will cost d dollars less than the previous one. This continues until the cost becomes less than or equal to m dollars, after which every game will cost m dollars. How many games can you buy during the Halloween Sale?

Example

p = 20
d = 3
m = 6
s = 70

The following are the costs of the first 11, in order:

20, 17, 14, 11, 8, 6, 6, 6, 6, 6, 6

Start at p = 20 units cost, reduce that by d = 3 units each iteration until reaching a minimum possible price, m = 6. Starting with s = 70 units of currency in your Mist wallet, you can buy 5 games: 20 + 17 + 14 + 11 + 8 = 70.

Function Description

Complete the howManyGames function in the editor below.

howManyGames has the following parameters:

  • int p: the price of the first game
  • int d: the discount from the previous game price
  • int m: the minimum cost of a game
  • int s: the starting budget

Input Format

The first and only line of input contains four space-separated integers pdm and s.

Constraints

  • 1 <= m <= p <= 100
  • 1 <= d <= 100
  • 1 <= s <= 104

Sample Input 0

20 3 6 80

Sample Output 0

6

Explanation 0

Assumptions other than starting funds, s, match the example in the problem statement. With a budget of 80, you can buy 6 games at a cost of 20 + 17 + 14 + 11 + 8 + 6 = 76. A 7th game for an additional 6 units exceeds the budget.

Sample Input 1

20 3 6 85

Sample Output 1

7

Explanation 1

This is the same as the previous case, except this time the starting budget s = 85 units of currency. This time, you can buy 7 games since they cost 20 + 17 + 14 + 11 + 8 + 6 + 6 = 82. An additional game at 6 units will exceed the budget.

HackerRank Halloween Sale Solution

Halloween Sale Solution in C

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {

    int num,i,valley=0;
    scanf("%d",&num);
    char steps[num];
    scanf("%s",steps);
    int sea=0;
    for(i=0;i<num;i++)
        {
        if(sea==0 && steps[i]=='D')
            valley++;
        if(steps[i]=='U')
            sea++;
        else
            sea--;
        //printf("%d ",sea);
    }
    printf("%d",valley);
    return 0;
}

Halloween Sale Solution in Cpp

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    
    unsigned long long int N, Sum = 0, i, Num;
    
    cin>>N;
    
    for (i = 1 ; i <= N ; i++)
        {
        cin>> Num;
        Sum += Num;
    }
    
    cout<<Sum<<endl;
       
    
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    return 0;

Halloween Sale Solution in Java

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int length = input.nextInt();
        int sum = 0;
        
        for(int i = 0; i < length; i++) {
            sum += input.nextInt();
        }
        
        System.out.println(sum);
    }

Halloween Sale Solution in Python

n = input()
arr = map(int,raw_input().split())
print sum(arr)

Halloween Sale Solution using JavaScript

function processData(input) {
    //Enter your code here
    var inputs = input.split('\n');
    var arrayToSum = inputs[1].split(' ');
    var sum = 0;
    
    for (var i = 0; i < arrayToSum.length; i++) {
        sum += parseInt(arrayToSum[i], 10);       
        
    }
    console.log(sum);
} 

process.stdin.resume();
process.stdin.setEncoding("ascii");
_input = "";
process.stdin.on("data", function (input) {
    _input += input;
});

process.stdin.on("end", function () {
   processData(_input);
});

Halloween Sale Solution in Scala

bject Solution {

    def main(args: Array[String]) {
        val lines = io.Source.stdin.getLines
        val sum = lines.drop(1).next.split(" ").toList.map( _.toInt ).sum
        println(sum)
    }

Halloween Sale Solution in Pascal

(* Enter your code here. Read input from STDIN. Print output to STDOUT *)
var n, s, x: longint;
begin
  readln(n);
  s:= 0;
  while n>0 do begin
    read(x);
    inc(s,x);
    dec(n);
  end;
  writeln(s);
  
end.

Disclaimer: This problem (Halloween Sale) is generated by HackerRank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: HackerRank The Time in Words Solution

Leave a Reply

Your email address will not be published. Required fields are marked *