fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. long long ModE(long long a, long long b, long long c)
  7. {
  8. long long ans=1;
  9. while(b != 0)
  10. {
  11. if(b%2 == 1)
  12. {
  13. ans=(ans*a);
  14. ans=ans%c;
  15. }
  16. a=(a*a);
  17. a=a%c;
  18. b=b/2;
  19. }
  20. return ans;
  21. }
  22.  
  23.  
  24. int main()
  25. {
  26. long long i,n;
  27. vector<long long> x;
  28. long long temp;
  29. long long sum=0;
  30. long long coeff;
  31. long long a,b;
  32.  
  33. cin>>n;
  34. x.clear();
  35.  
  36.  
  37. for(i=0;i<n;i++)
  38. {
  39. cin>>temp;
  40. x.push_back(temp);
  41. }
  42. sort(x.rbegin(),x.rend());
  43.  
  44. long long r;
  45. r=1000*1000*1000;
  46. r+=7;
  47.  
  48. for(i=0;i<n;i++)
  49. {
  50. a=ModE(2,n-i-1,r);
  51. b=ModE(2,i,r);
  52. coeff=a-b;
  53. sum+=x[i]*coeff;
  54. sum=sum%r;
  55.  
  56. }
  57. sum=sum%r;
  58. cout<<sum<<endl;
  59. return 0;
  60. }
Success #stdin #stdout 0s 16056KB
stdin
20
2 6 8 9 20 23 27 36 43 49 63 65 70 71 85 87 89 91 94 97
stdout
92743989