fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. // your code goes here
  9. int n;
  10. cin>>n;
  11. int q;
  12. cin>>q;
  13. vector<int> price(n),query(q);
  14. for(int i=0;i<n;i++){
  15. cin>>price[i];
  16. }
  17. for(int i=0;i<q;i++){
  18. cin>>query[i];
  19. }
  20.  
  21. sort(price.begin(),price.end());
  22.  
  23. vector<int> prefix(n+1,0);
  24. for(int i=1;i<=n;i++){
  25. prefix[i]=prefix[i-1] + price[i-1];
  26.  
  27. }
  28.  
  29.  
  30. for(int i=0;i<q;i++){
  31. int target = query[i];
  32. int left_part_idx = upper_bound(price.begin(),price.end(),target)-price.begin();
  33. int left_sum = target*(left_part_idx) - prefix[left_part_idx];
  34. int right_sum = prefix[n] - prefix[left_part_idx] - target*(n-left_part_idx);
  35. cout<<left_sum + right_sum<<endl;
  36.  
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 5316KB
stdin
3 4
1 2 3 
3 2 1 5
stdout
3
2
3
9