A person wants to determine the most expensive computer keyboard and USB drive that can be purchased with a give budget. Given price lists for keyboards and USB drives and a budget, find the cost to buy them. If it is not possible to buy both items, return .
Example
The person can buy a , or a . Choose the latter as the more expensive option and return .
Function Description
Complete the getMoneySpent function in the editor below.
getMoneySpent has the following parameter(s):
- int keyboards[n]: the keyboard prices
- int drives[m]: the drive prices
- int b: the budget
Returns
- int: the maximum that can be spent, or if it is not possible to buy both items
Input Format
The first line contains three space-separated integers , , and , the budget, the number of keyboard models and the number of USB drive models.
The second line contains space-separated integers , the prices of each keyboard model.
The third line contains space-separated integers , the prices of the USB drives.
Constraints
- The price of each item is in the inclusive range .
Sample Input 0
10 2 3
3 1
5 2 8
Sample Output 0
9
Electronics Shop HackerRank Solution in C
#include <math.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <assert.h> #include <limits.h> #include <stdbool.h> int main(){ int s; int n; int m; scanf("%d %d %d",&s,&n,&m); int *keyboards = malloc(sizeof(int) * n); for(int keyboards_i = 0; keyboards_i < n; keyboards_i++){ scanf("%d",&keyboards[keyboards_i]); } int *pendrives = malloc(sizeof(int) * m); for(int pendrives_i = 0; pendrives_i < m; pendrives_i++){ scanf("%d",&pendrives[pendrives_i]); } int max_spend = -1, i, j, cost; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cost = keyboards[i] + pendrives[j]; if (cost > s) { continue; } if (cost > max_spend) { max_spend = cost; } } } printf("%d\n", max_spend); return 0; }
Electronics Shop HackerRank Solution in C++
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <iostream> #include <algorithm> #include <unordered_map> typedef long long int uli; using namespace std; int main(){ int s; int n; int m; cin >> s >> n >> m; vector<int> keyboards(n); for(int keyboards_i = 0;keyboards_i < n;keyboards_i++){ cin >> keyboards[keyboards_i]; } vector<int> pendrives(m); for(int pendrives_i = 0;pendrives_i < m;pendrives_i++){ cin >> pendrives[pendrives_i]; } uli ans=-1; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ uli bet=keyboards[i]+pendrives[j]; if(bet<=s){ if(ans==-1 || bet>ans)ans=bet; } } } printf("%lld\n",ans); return 0; }
Electronics Shop HackerRank 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 in = new Scanner(System.in); int s = in.nextInt(); int n = in.nextInt(); int m = in.nextInt(); int[] keyboards = new int[n]; for(int keyboards_i=0; keyboards_i < n; keyboards_i++){ keyboards[keyboards_i] = in.nextInt(); } int[] pendrives = new int[m]; for(int pendrives_i=0; pendrives_i < m; pendrives_i++){ pendrives[pendrives_i] = in.nextInt(); } int ans = -1; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { int v = keyboards[i]+pendrives[j]; if(v>ans && v<= s) { ans = v; } } } System.out.println(ans); } }
Electronics Shop HackerRank Solution in Python
#!/bin/python import sys s,n,m = raw_input().strip().split(' ') s,n,m = [int(s),int(n),int(m)] keyboards = map(int,raw_input().strip().split(' ')) pendrives = map(int,raw_input().strip().split(' ')) sorted(keyboards) sorted(pendrives) max = -1 for i in keyboards: for j in pendrives: sum = i+j if sum<=s: if sum>max: max = sum print max
Attempt Electronics Shop HackerRank Challenge
Link – https://www.hackerrank.com/challenges/electronics-shop
Next HackerRank Challenge Solution
Link – https://exploringbits.com/cat-and-a-mouse-hackerrank-solution/
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.