HackerRank Luck Balance problem solution YASH PAL, 31 July 20246 February 2026 In this HackerRank Luck Balance interview preparation kit problem solution, If Lena loses no more than k important contests, what is the maximum amount of luck she can have after competing in all the preliminary contests? This value may be negative.Function DescriptionComplete the luckBalance function in the editor below.luckBalance has the following parameter(s):int contests[n][2]: a 2D array of integers where each contests[i] contains two integers that represent the luck balance and importance of the ith contest.int k: the number of important contests Lena can lose.Returnsint: the maximum luck balance achievableHackerRank Luck Balance problem solution in Python.N, K = map(int, input().strip().split()) luck = 0 important = [] for i in range(N): L, T = list(map(int, input().strip().split())) if T == 0: luck += L else: important.append(L) for i in sorted(important, reverse=True): if K > 0: luck += i K -= 1 else: luck -= i print(luck)Luck Balance problem solution in Java Programming.import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*; public class Solution { // Complete the luckBalance function below. static int luckBalance(int k, int[][] c) { PriorityQueue<Integer> imp = new PriorityQueue<>(Collections.reverseOrder()); int luck = 0; for(int row = 0; row < c.length; row++){ if(c[row][1] == 0) luck += c[row][0]; else imp.offer(c[row][0]); } boolean decreaseLuck = false; while(!imp.isEmpty()){ if(k == 0) decreaseLuck = true; if(decreaseLuck == true) luck -= imp.poll(); else luck += imp.poll(); k--; }return luck; } private static final Scanner scanner = new Scanner(System.in); public static void main(String[] args) throws IOException { BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH"))); String[] nk = scanner.nextLine().split(" "); int n = Integer.parseInt(nk[0]); int k = Integer.parseInt(nk[1]); int[][] contests = new int[n][2]; for (int i = 0; i < n; i++) { String[] contestsRowItems = scanner.nextLine().split(" "); scanner.skip("(rn|[nru2028u2029u0085])?"); for (int j = 0; j < 2; j++) { int contestsItem = Integer.parseInt(contestsRowItems[j]); contests[i][j] = contestsItem; } } int result = luckBalance(k, contests); bufferedWriter.write(String.valueOf(result)); bufferedWriter.newLine(); bufferedWriter.close(); scanner.close(); } }Problem solution in C++ programming.#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> #include <utility> #include <cstring> #include <bitset> #include <string> #include <vector> #include <queue> #include <map> #include <set> using namespace std; typedef double db; typedef long long LL; typedef pair< int, int > PII; typedef pair< LL, LL > PLL; typedef pair< db, db > PDD; const db dInf = 1E90; const LL lInf = ( LL ) 1E16; const int Inf = 0x23333333; const int N = 505; #define it iterator #define rbg rbegin() #define ren rend() #define fdi( i, x ) for ( typeof( x.rbg ) i=x.rbg; i!=x.ren; ++i ) #define foi( i, x ) for ( typeof( x.begin() ) i=x.begin(); i!=x.end(); ++i ) #define fd( i, y, x ) for ( int i=( y )-1, LIM=x; i>=LIM; --i ) #define fo( i, x, y ) for ( int i=x, LIM=y; i<LIM; ++i ) #define mkp( A, B ) make_pair( A, B ) #define pub( x ) push_back( x ) #define pob( x ) pop_back( x ) #define puf( x ) push_front( x ) #define pof( x ) pop_front( x ) #define fi first #define se second void Read( int &x ) { x = 0; char ch = ''; while ( ch<'0' || ch>'9' ) ch = getchar(); while ( ch>='0' && ch<='9' ) x = x * 10 + ch - '0', ch = getchar(); } void update( int &x, int v ) { if ( v > x ) x = v; } int f[N]; int n, m; int main() { int v, imp; Read( n ), Read( m ); fill( f + 1, f + m + 1, -Inf ); fo ( i, 0, n ) { Read( v ), Read( imp ); fd ( j, m+1, 0 ) { int temp = f[j]; f[j] = -Inf; update( f[ j+imp ], temp + v ); update( f[j], temp - v ); } } int ret = -Inf; fo ( j, 0, m+1 ) update( ret, f[j] ); printf( "%dn", ret ); return 0; }Problem solution in C programming.#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> int comp(void *a,void *b) { return *(int *)b-*(int *)a; } int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int n,k; scanf("%d %d",&n,&k); int i,temp,flag; int a[n],c=0; long long int sum=0; for(i=0;i<n;i++) { scanf("%d %d",&temp,&flag); if(flag==0) sum+=temp; else { a[c++]=temp; } } qsort(a,c,sizeof(temp),(void *)comp); for(i=0;i<c;i++) { if(i<k) sum+=a[i]; else sum-=a[i]; } printf("%lldn",sum); return 0; }Problem solution in JavaScript programming.function processData(input) { //Enter your code here var lines = input.split("n"); var NK = lines[0].split(" ").map(Number); var n = NK[0]; var k = NK[1]; var luck=0; var impo=[]; for (var i=0; i < n ; i++) { var LI = lines[i+1].split(" ").map(Number); if (LI[1]==0) { luck += LI[0]; //console.log("unimport => lose " + LI[0]); } else { impo.push(LI[0]); //console.log("important => wait " + LI[0]); } } impo.sort(function(a,b) { return b - a;}); //console.log(impo); for (var i=0 ; i < impo.length ; i++) { if (i < k) { luck += impo[i]; } else { luck -= impo[i]; } } console.log(luck); } process.stdin.resume(); process.stdin.setEncoding("ascii"); _input = ""; process.stdin.on("data", function (input) { _input += input; }); process.stdin.on("end", function () { processData(_input); }); coding problems solutions Hackerrank Problems Solutions interview prepration kit HackerRank