Skip to content
Programmingoneonone
Programmingoneonone
  • Home
  • CS Subjects
    • Internet of Things (IoT)
    • Digital Communication
    • Human Values
  • Programming Tutorials
    • C Programming
    • Data structures and Algorithms
    • 100+ Java Programs
    • 100+ C Programs
  • HackerRank Solutions
    • HackerRank Algorithms Solutions
    • HackerRank C problems solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
Programmingoneonone

HackerEarth Explosive Game problem solution

YASH PAL, 31 July 2024
In this HackerEarth Explosive Game problem solution, There’s no day that Kevin doesn’t want to explore something.
Today Kevin and Elvis decided to make dynamite. They have N packages of explosives (N is an even number). The i-th package contains two boxes: one has ai grams of explosives the other bi grams. Elvis and Kevin alternatively take any package and add one of the boxes to giant dynamite. Another box is discarded. Elvis starts this process. Kevin believes an explosion is beautiful if the giant dynamite contains exactly x grams of explosives. But he hasn’t decided on the value of x yet. This process ends when all boxes are taken.
Help him and determine for each of Q values xi whether Kevin can make dynamite with exactly xi grams of explosives regardless of the Elvis’ moves.
HackerEarth Explosive Game problem solution

HackerEarth Explosive Game problem solution.

#include <string>
#include <vector>
#include <map>
#include <list>
#include <iterator>
#include <set>
#include <queue>
#include <iostream>
#include <sstream>
#include <stack>
#include <deque>
#include <cmath>
#include <memory.h>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <algorithm>
#include <utility>
#include <cassert>
#include<complex>
#include <time.h>
using namespace std;

#define FOR(i, a, b) for(int i=(a);i<(b);i++)
#define RFOR(i, b, a) for(int i=(b)-1;i>=(a);--i)
#define FILL(A,value) memset(A,value,sizeof(A))

#define ALL(V) V.begin(), V.end()
#define SZ(V) (int)V.size()
#define PB push_back
#define MP make_pair
#define Pi 3.14159265358979
#define x0 ikjnrmthklmnt
#define y0 lkrjhkltr
#define y1 ewrgrg

typedef long long Int;
typedef unsigned long long UInt;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef complex<double> base;

const int INF = 1000000000;
const int MAX = 107;
const int MAXE = 5000;
const int MAXV = 20*20;
const int BASE = 1000000007;
const int MOD = 1000000007;

int main()
{
int n, q;
cin >> n >> q;

VI a;

Int S = 0;

FOR(i,0,n)
{
int l , r;
cin >> l >> r;
if (l > r) swap(l, r);
S += l;
a.push_back(r - l);
}

sort(ALL(a));

bool ok = 1;
for(int i = 0;i < n; i += 2)
{
if (a[i] != a[i + 1]) ok = 0;
S += a[i];
}
if (!ok) S = -1;

FOR(i,0,q)
{
Int x;
scanf("%lld" , &x);
if (x == S)
{
printf("YESn");
}
else
{
printf("NOn");
}
}

return 0;
}

Second solution

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

vector<int>v;
long long can;
int main() {

int n, q;
cin>>n>>q;
for (int i = 1; i <= n; i++) {
int aa, bb;
cin>>aa>>bb;
if (aa > bb) swap(aa, bb);
v.push_back(bb - aa);
can += aa;
}


bool fl = true;
sort(v.begin(), v.end() );
for (int i = 0; i < v.size(); i += 2) {
if (v[i] != v[i + 1]) {
fl = false;
}
else {
can += v[i];
}
}

for (int i = 0; i < q; i++) {
long long x;
cin>>x;
if (fl == true && x == can) {
cout<<"YESn";
}
else {
cout<<"NOn";
}
}
return 0;
}
coding problems solutions

Post navigation

Previous post
Next post

Pages

  • About US
  • Contact US
  • Privacy Policy

Programing Practice

  • C Programs
  • java Programs

HackerRank Solutions

  • C
  • C++
  • Java
  • Python
  • Algorithm

Other

  • Leetcode Solutions
  • Interview Preparation

Programming Tutorials

  • DSA
  • C

CS Subjects

  • Digital Communication
  • Human Values
  • Internet Of Things
  • YouTube
  • LinkedIn
  • Facebook
  • Pinterest
  • Instagram
©2025 Programmingoneonone | WordPress Theme by SuperbThemes