Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstdlib>
- #include <cmath>
- #include <vector>
- #include <algorithm>
- using namespace std;
- struct point
- {
- int x, y, z;
- };
- vector<point> v(100010);
- int m[9][4] = {
- {0, 0, 0, 0},
- {0, 1, 1, 1},
- {0, 1, 1, -1},
- {0, 1, -1, 1},
- {0, 1, -1, -1},
- {0, -1, 1, 1},
- {0, -1, 1, -1},
- {0, -1, -1, 1},
- {0, -1, -1, -1}
- };
- int N, maxim, minim, maximtotal;
- int main()
- {
- freopen("distanta.in", "r", stdin);
- freopen("distanta.out", "w", stdout);
- maximtotal = (-1) * 0x3f3f3f3f;
- int i, j;
- scanf("%i", &N);
- for(i = 1; i <= N; i++) scanf("%i %i %i", &v[i].x, &v[i].y, &v[i].z);
- for(i = 1; i <= 8; i++)
- {
- maxim = (-1) * 0x3f3f3f3f;
- minim = 0x3f3f3f3f;
- for(j = 1; j <= N; j++)
- {
- maxim = max(maxim, v[j].x * m[i][1] + v[j].y * m[i][2] + v[j].z * m[i][3]);
- minim = min(minim, v[j].x * m[i][1] + v[j].y * m[i][2] + v[j].z * m[i][3]);
- }
- maximtotal = max(maximtotal, maxim - minim);
- }
- printf("%i\n", maximtotal);
- scanf("%i", &i);
- return 0;
- }
Add Comment
Please, Sign In to add comment