Guest User

Untitled

a guest
May 20th, 2017
108
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. const long long N = 3e5 + 5;
  4. long long n;
  5. long long a[N];
  6. const long long mod = 1e9 + 7;
  7. long long power(long long A , long long B)
  8. {
  9.             if (B == 0)
  10.             return 1;
  11.             else if (A == 0 || A == 1)
  12.             return A;
  13.             else
  14.             {
  15.                         long long res = power(A , B / 2);
  16.                         res %= mod;
  17.                         res *= res;
  18.                         res %= mod;
  19.                         if (B % 2 != 0)
  20.                         {
  21.                                    res *= A;
  22.                                    res %= mod;
  23.                         }
  24.                         return res;
  25.             }
  26. }
  27.  
  28. long long index(long long ind)
  29. {
  30.             return (power(2 , ind) - 1) % mod;
  31. }
  32.  
  33. int main()
  34. {
  35.             scanf("%lld" , &n);
  36.             for(long long i = 0 ; i < n ; i++)
  37.             {
  38.                         scanf("%lld" , a + i);
  39.             }
  40.  
  41.             sort(a , a + n);
  42.  
  43.             long long pro = 0;
  44.  
  45.             for(long long i = n - 1 ; i >= 0 ; i--)
  46.             {
  47.                             pro += (index(i) - index(n - 1 - i)) * (a[i] % mod);
  48.                             pro %= mod;
  49.             }
  50.  
  51.             printf("%lld\n" , pro);
  52.  
  53.             return 0;
  54. }
RAW Paste Data