Guest User

Untitled

a guest
Sep 22nd, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <cmath>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8.  
  9. struct point
  10. {
  11.        int x, y, z;
  12. };
  13. vector<point> v(100010);
  14. int m[9][4] = {
  15.     {0, 0, 0, 0},
  16.     {0, 1, 1, 1},
  17.     {0, 1, 1, -1},
  18.     {0, 1, -1, 1},
  19.     {0, 1, -1, -1},
  20.     {0, -1, 1, 1},
  21.     {0, -1, 1, -1},
  22.     {0, -1, -1, 1},
  23.     {0, -1, -1, -1}
  24. };
  25. int N, maxim, minim, maximtotal;
  26.  
  27.  
  28. int main()
  29. {
  30.     freopen("distanta.in", "r", stdin);
  31.     freopen("distanta.out", "w", stdout);
  32.     maximtotal = (-1) * 0x3f3f3f3f;
  33.     int i, j;
  34.     scanf("%i", &N);
  35.     for(i = 1; i <= N; i++) scanf("%i %i %i", &v[i].x, &v[i].y, &v[i].z);
  36.     for(i = 1; i <= 8; i++)
  37.     {
  38.           maxim = (-1) * 0x3f3f3f3f;
  39.           minim = 0x3f3f3f3f;
  40.           for(j = 1; j <= N; j++)
  41.           {
  42.                 maxim = max(maxim, v[j].x * m[i][1] + v[j].y * m[i][2] + v[j].z * m[i][3]);
  43.                 minim = min(minim, v[j].x * m[i][1] + v[j].y * m[i][2] + v[j].z * m[i][3]);
  44.           }
  45.           maximtotal = max(maximtotal, maxim - minim);
  46.     }
  47.     printf("%i\n", maximtotal);
  48.     scanf("%i", &i);
  49.     return 0;
  50. }
Add Comment
Please, Sign In to add comment