#include <cstdio> // POCZATEK szybkiego wczytywania #define INPUT_BUFFER_SIZE 100000 inline char my_getchar() { static char _input_buffer[INPUT_BUFFER_SIZE + 1]; static int _buffer_pos = INPUT_BUFFER_SIZE; if (_buffer_pos == INPUT_BUFFER_SIZE) { int t = std::fread(_input_buffer, 1, INPUT_BUFFER_SIZE, stdin); _input_buffer[t] = EOF; _buffer_pos = 0; } return _input_buffer[_buffer_pos++]; } inline void read_int(int &n) { char c; bool read = false; n = 0; while (true) { c = my_getchar(); if ('0' <= c && c <= '9') { read = true; n = 10 * n + c - '0'; } else if (read || c == EOF) { break; } } } // KONIEC szybkiego wczytywania int main() { int t; read_int(t); for (; t > 0; t--) { int n; read_int(n); static int to_minimize1[100100], to_maximize1[100100], to_minimize2[100100], to_maximize2[100100]; int to_minimize1_best = 2000000000; int to_maximize1_best = -1; int to_minimize2_best = 2000000000; int to_maximize2_best = -1; for (int i = 0; i < n; i++) { read_int(to_minimize1[i]); if (to_minimize1[i] < to_minimize1_best) to_minimize1_best = to_minimize1[i]; read_int(to_maximize1[i]); if (to_maximize1[i] > to_maximize1_best) to_maximize1_best = to_maximize1[i]; read_int(to_minimize2[i]); if (to_minimize2[i] < to_minimize2_best) to_minimize2_best = to_minimize2[i]; read_int(to_maximize2[i]); if (to_maximize2[i] > to_maximize2_best) to_maximize2_best = to_maximize2[i]; } bool res = false; for (int i = 0; i < n; i++) { if (to_minimize1[i] == to_minimize1_best && to_maximize1[i] == to_maximize1_best && to_minimize2[i] == to_minimize2_best && to_maximize2[i] == to_maximize2_best) { res = true; break; } } if (res) std::puts("TAK"); else std::puts("NIE"); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #include <cstdio> // POCZATEK szybkiego wczytywania #define INPUT_BUFFER_SIZE 100000 inline char my_getchar() { static char _input_buffer[INPUT_BUFFER_SIZE + 1]; static int _buffer_pos = INPUT_BUFFER_SIZE; if (_buffer_pos == INPUT_BUFFER_SIZE) { int t = std::fread(_input_buffer, 1, INPUT_BUFFER_SIZE, stdin); _input_buffer[t] = EOF; _buffer_pos = 0; } return _input_buffer[_buffer_pos++]; } inline void read_int(int &n) { char c; bool read = false; n = 0; while (true) { c = my_getchar(); if ('0' <= c && c <= '9') { read = true; n = 10 * n + c - '0'; } else if (read || c == EOF) { break; } } } // KONIEC szybkiego wczytywania int main() { int t; read_int(t); for (; t > 0; t--) { int n; read_int(n); static int to_minimize1[100100], to_maximize1[100100], to_minimize2[100100], to_maximize2[100100]; int to_minimize1_best = 2000000000; int to_maximize1_best = -1; int to_minimize2_best = 2000000000; int to_maximize2_best = -1; for (int i = 0; i < n; i++) { read_int(to_minimize1[i]); if (to_minimize1[i] < to_minimize1_best) to_minimize1_best = to_minimize1[i]; read_int(to_maximize1[i]); if (to_maximize1[i] > to_maximize1_best) to_maximize1_best = to_maximize1[i]; read_int(to_minimize2[i]); if (to_minimize2[i] < to_minimize2_best) to_minimize2_best = to_minimize2[i]; read_int(to_maximize2[i]); if (to_maximize2[i] > to_maximize2_best) to_maximize2_best = to_maximize2[i]; } bool res = false; for (int i = 0; i < n; i++) { if (to_minimize1[i] == to_minimize1_best && to_maximize1[i] == to_maximize1_best && to_minimize2[i] == to_minimize2_best && to_maximize2[i] == to_maximize2_best) { res = true; break; } } if (res) std::puts("TAK"); else std::puts("NIE"); } } |