Skip to content
Programmingoneonone - Logo
Programmingoneonone
  • Engineering Subjects
    • Internet of Things (IoT)
    • Computer System Architecture
    • Microprocessor
    • Digital Communication
    • Human Values
  • Programming Tutorials
    • C Programming
    • Data structures and Algorithms
    • 100+ Java Programs
    • 100+ C Programs
    • 100+ C++ Programs
  • Solutions
    • HackerRank
      • Algorithms Solutions
      • C solutions
      • C++ solutions
      • Java solutions
      • Python solutions
      • Data Structures Solutions
    • Leetcode Solutions
    • HackerEarth Solutions
  • Work with US
Programmingoneonone - Logo
Programmingoneonone

HackerEarth Game Of Strengths problem solution

YASH PAL, 31 July 202415 February 2026
In this HackerEarth Game of Strengths problem solution, Andrew is very fond of Maths.He has N boxes with him,in each box there is some value which represents the Strength of the Box.The ith box has strength A[i]. He wants to calculate the Overall Power of the all N Boxes.
 
Overall Power here means Sum of Absolute Difference of the strengths of the boxes(between each pair of boxes) multiplied by the Maximum strength among N boxes. Since the Overall Power could be a very large number,output the number modulus 10^9+7(1000000007).
 
 
HackerEarth Game Of Strengths problem solution

 

 

HackerEarth Game Of Strengths problem solution.

#include<iostream>
#include<map>
#include<vector>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<functional>
#include<vector>
#include<stack>
#include<set>
#include<map>
#include<queue>
#include<deque>
#define MOD 1000000007
using namespace std;
long long arr[1000010];
int main()
{
int i,n,t;
cin>>t;
while(t--)
{
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i];
}
sort(arr,arr+n,greater<long long>());
long long ans=0,temp;
for(i=0;i<n-1;i++)
{
ans=(ans+(n-i-1)*arr[i])%MOD;
}
temp=MOD*(long long)100000;
for(i=n-1;i>0;i--)
{
ans=(temp+ans-(i)*arr[i])%MOD;
}
ans=(ans*arr[0])%MOD;
cout<<ans<<endl;
}
return(0);
}
 

Second solution

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<cassert>
#include<set>
#include<queue>
#include<map>

using namespace std;

#define vi vector < int >
#define pb push_back
#define ll long long
#define llu unsigned long long
#define MOD 1000000007
#define INF 2000000000
#define dbg(x) { cout<< #x << ": " << (x) << endl; }
#define all(x) x.begin(),x.end()

ll a[100005];

int main()
{
int t,n,i;
scanf("%d",&t);
assert(1<=t && t<=10);
while(t--)
{
scanf("%d",&n);
assert(2<=n && n<=100000);
ll mx = -INF;
for(i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
assert(0<=a[i] && a[i]<=1000000000);
mx = max(mx,a[i]);
}
mx %= MOD;
ll ans = 0;
sort(a+1,a+n+1);
ll sum = 0;
for(i=1;i<=n;i++)
{
ans = (ans+((i-1)*a[i] - sum+MOD)%MOD)%MOD;
sum = (sum+a[i])%MOD;
}
ans = (ans*mx)%MOD;
printf("%lldn",ans);
}
//system("pause");
return 0;
}
 
 
coding problems solutions HackerEarth HackerEarth

Post navigation

Previous post
Next post

Leave a Reply

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

Programmingoneonone

We at Programmingoneonone, also known as Programming101 is a learning hub of programming and other related stuff. We provide free learning tutorials/articles related to programming and other technical stuff to people who are eager to learn about it.

Pages

  • About US
  • Contact US
  • Privacy Policy
  • DMCA

Practice

  • Java
  • C++
  • C

Follow US

  • YouTube
  • LinkedIn
  • Facebook
  • Pinterest
  • Instagram
©2026 Programmingoneonone | WordPress Theme by SuperbThemes