# HackerEarth Remove the element problem solution

In this HackerEarth Remove the element problem You are given an integer array A of size N. You can perform an operation exactly N number of times. In the operation, you can remove one element from array A and the operation will cost Ai units if ith is removed from the array. The operation will take 1 second.

Elements of array A will keep on increasing every second until it is removed. Let ith element is Ai at jth second. Then the ith element will increase by (j + 1) * Ai and the element will become Ai + (j + 1) * Ai at (j + 1)th second.

Your task is to find the minimum cost to remove all the elements from array A. As the answer can be very large, print the answer module 10^9 + 7.

## HackerEarth Remove the element problem solution.

`#include <bits/stdc++.h>using namespace std;typedef long long int ll;typedef pair<ll, ll> pll;typedef vector<ll> vll;typedef vector<int> vi;#define pb push_backconst ll INF=1e18;const int mod=1000000007;ll arr[100005], fact[100005];int main(){    ll t,n,m,i,j,k;    fact[0]=1;    for (i=1;i<100005;++i)        fact[i]=(i*fact[i-1])%mod;    scanf ("%lld",&t);    while (t--)    {        scanf ("%lld",&n);        for (i=1;i<=n;++i)            scanf ("%lld",&arr[i]);        sort(arr+1,arr+n+1,[](ll x, ll y)        {            return x>y;        });        ll ans=0;        for (i=1;i<=n;++i)            ans=(ans+fact[i]*arr[i])%mod;        printf ("%lld\n",ans);    }    return 0;}`