Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "bits/stdc++.h"
- using namespace std;
- const long long N = 3e5 + 5;
- long long n;
- long long a[N];
- const long long mod = 1e9 + 7;
- long long power(long long A , long long B)
- {
- if (B == 0)
- return 1;
- else if (A == 0 || A == 1)
- return A;
- else
- {
- long long res = power(A , B / 2);
- res %= mod;
- res *= res;
- res %= mod;
- if (B % 2 != 0)
- {
- res *= A;
- res %= mod;
- }
- return res;
- }
- }
- long long index(long long ind)
- {
- return (power(2 , ind) - 1) % mod;
- }
- int main()
- {
- scanf("%lld" , &n);
- for(long long i = 0 ; i < n ; i++)
- {
- scanf("%lld" , a + i);
- }
- sort(a , a + n);
- long long pro = 0;
- for(long long i = n - 1 ; i >= 0 ; i--)
- {
- pro += (index(i) - index(n - 1 - i)) * (a[i] % mod);
- pro %= mod;
- }
- printf("%lld\n" , pro);
- return 0;
- }
Add Comment
Please, Sign In to add comment