fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t;
  6. cin >> t;
  7. while(t--)
  8. {
  9. int n,a;
  10. cin >> n >> a;
  11. vector<int > v;
  12. for(int i=0;i<n;i++)
  13. {
  14. int p;
  15. cin >> p;
  16. v.push_back(p);
  17. }
  18. if((v[0] < a ) && v[n-1] > a)
  19. {
  20. int mid = v[0]+v[n-1];
  21. mid = mid/2;
  22. if(mid<a)
  23. {
  24. int r = (v[n-1]-a)*2;
  25. int w = a - v[0];
  26. int s = r+w;
  27. cout << s << endl;
  28. }
  29. else
  30. {
  31. int r = (a-v[0])*2;
  32. int w = v[n-1] - a;
  33. int s = r+w;
  34. cout << s << endl;
  35. }
  36. }
  37. else
  38. {
  39. if(a>=v[n-1])
  40. {
  41. int y = a-v[0];
  42. cout << y << endl;
  43. }
  44. else if(a<= v[0])
  45. {
  46. int y = v[n-1] - a;
  47. cout << y << endl;
  48. }
  49. }
  50. }
  51. return 0;
  52. }
Success #stdin #stdout 0.01s 5296KB
stdin
12
1 1
1
1 2
1
1 1
2
2 1
2 3
2 2
1 3
2 3
1 2
3 1
1 2 3
3 2
1 3 4
3 3
1 2 3
4 3
1 2 3 10
5 5
1 2 3 6 7
6 6
1 2 3 9 10 11
stdout
0
1
1
2
3
2
2
4
2
11
8
15