#include <stdio.h>
	#include <stdlib.h>
	#include <stdbool.h>

	bool result(int array[], size_t size);
	void print(int array[], size_t size);
	bool contains_zero(int array[], size_t size);

	int main(void) {

		int input_1[] = {1, 2, 3};
		int input_2[] = {-5, -3, -1, 2, 4, 6};
		int input_3[] = {};
		int input_4[] = {-1, 1};
		int input_5[] = {-97364, -71561, -69336, 19675, 71561, 97863};
		int input_6[] = {-53974, -39140, -36561, -23935, -15680, 0};

		print(input_1, sizeof(input_1));
		printf(" -> %s\n", result(input_1, sizeof(input_1)) ? "true" : "false");
		print(input_2, sizeof(input_2));
		printf(" -> %s\n", result(input_2, sizeof(input_2)) ? "true" : "false");
		print(input_3, sizeof(input_3));
		printf(" -> %s\n", result(input_3, sizeof(input_3)) ? "true" : "false");
		print(input_4, sizeof(input_4));
		printf(" -> %s\n", result(input_4, sizeof(input_4)) ? "true" : "false");
		print(input_5, sizeof(input_5));
		printf(" -> %s\n", result(input_5, sizeof(input_5)) ? "true" : "false");
		print(input_6, sizeof(input_6));
		printf(" -> %s\n", result(input_6, sizeof(input_6)) ? "true" : "false");
		
		return EXIT_SUCCESS;
	}

	void print(int array[], size_t size) {
		size_t length = size / sizeof(int);
		printf("[");
		unsigned int i;
		if (length == 0) {
			printf("]");
			return;
		}
		for (i = 0; i < length; i++) {
			if (i == length - 1) {
				printf("%d]", array[i]);
			} else {
				printf("%d, ", array[i]);
			}
		}
	}

	bool contains_zero(int array[], size_t size) {
		size_t length = size / sizeof(int);
		unsigned int i;
		for (i = 0; i < length; i++) {
			if (array[i] == 0)
				return true;
		}
		return false;
	}

	bool result(int array[], size_t size) {
		if (array == NULL)
			return false;
		long unsigned length = size / sizeof(int);
		if (length == 0)
			return false;
		if (array[0] > 0)
			return false;
		if (contains_zero(array, size) == true)
			return true;

		unsigned int index;
		for (index = 0; index < length; index++) {
			int num = array[index];
			if (num == 0)
				return true;
			unsigned int index_2;
			for (index_2 = index + 1; index_2 < length; index_2++) {
				int num_2 = array[index_2];
				if (num + num_2 == 0) {
					return true;
				}
			}
		}
		return false;
	}