fork(4) download
  1. #include<stdio.h>
  2.  
  3. #define wb(x) ((x)<0?-(x):(x))
  4.  
  5. int coord[20];
  6. long long min[1<<16], max[1<<16];
  7.  
  8. int main()
  9. {
  10. int n, d, i, j, k, m;
  11. long long x;
  12.  
  13. scanf("%d%d", &d, &n);
  14. m = 1<<(d-1);
  15. for(i = 0; i < m; ++i)
  16. min[i] = 1e15,
  17. max[i] = -1e15;
  18. while(n--)
  19. {
  20. for(j = 0; j < d; ++j)
  21. scanf("%d", &coord[j]);
  22. for(j = 0; j < m; ++j)
  23. {
  24. x = 0;
  25. for(k = 0; k < d; ++k)
  26. x += coord[k] * (j&(1<<k) ? 1 : -1);
  27. if(x < min[j])
  28. min[j] = x;
  29. if(x > max[j])
  30. max[j] = x;
  31. }
  32. }
  33. x = -1;
  34. for(i = 0; i < m; ++i)
  35. if(wb(max[i]-min[i]) > x)
  36. x = wb(max[i]-min[i]);
  37. printf("%lld\n", x);
  38. return 0;
  39. }
Success #stdin #stdout 0s 3320KB
stdin
4 3
10 -3 -2 5
1 2 3 4
-1 2 0 4
stdout
20