#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);
unsigned int i;
if (length == 0) {
return;
}
for (i = 0; i < length; i++) {
if (i == length - 1) {
} else {
}
}
}
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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgkjaW5jbHVkZSA8c3RkbGliLmg+CgkjaW5jbHVkZSA8c3RkYm9vbC5oPgoKCWJvb2wgcmVzdWx0KGludCBhcnJheVtdLCBzaXplX3Qgc2l6ZSk7Cgl2b2lkIHByaW50KGludCBhcnJheVtdLCBzaXplX3Qgc2l6ZSk7Cglib29sIGNvbnRhaW5zX3plcm8oaW50IGFycmF5W10sIHNpemVfdCBzaXplKTsKCglpbnQgbWFpbih2b2lkKSB7CgoJCWludCBpbnB1dF8xW10gPSB7MSwgMiwgM307CgkJaW50IGlucHV0XzJbXSA9IHstNSwgLTMsIC0xLCAyLCA0LCA2fTsKCQlpbnQgaW5wdXRfM1tdID0ge307CgkJaW50IGlucHV0XzRbXSA9IHstMSwgMX07CgkJaW50IGlucHV0XzVbXSA9IHstOTczNjQsIC03MTU2MSwgLTY5MzM2LCAxOTY3NSwgNzE1NjEsIDk3ODYzfTsKCQlpbnQgaW5wdXRfNltdID0gey01Mzk3NCwgLTM5MTQwLCAtMzY1NjEsIC0yMzkzNSwgLTE1NjgwLCAwfTsKCgkJcHJpbnQoaW5wdXRfMSwgc2l6ZW9mKGlucHV0XzEpKTsKCQlwcmludGYoIiAtPiAlc1xuIiwgcmVzdWx0KGlucHV0XzEsIHNpemVvZihpbnB1dF8xKSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKCQlwcmludChpbnB1dF8yLCBzaXplb2YoaW5wdXRfMikpOwoJCXByaW50ZigiIC0+ICVzXG4iLCByZXN1bHQoaW5wdXRfMiwgc2l6ZW9mKGlucHV0XzIpKSA/ICJ0cnVlIiA6ICJmYWxzZSIpOwoJCXByaW50KGlucHV0XzMsIHNpemVvZihpbnB1dF8zKSk7CgkJcHJpbnRmKCIgLT4gJXNcbiIsIHJlc3VsdChpbnB1dF8zLCBzaXplb2YoaW5wdXRfMykpID8gInRydWUiIDogImZhbHNlIik7CgkJcHJpbnQoaW5wdXRfNCwgc2l6ZW9mKGlucHV0XzQpKTsKCQlwcmludGYoIiAtPiAlc1xuIiwgcmVzdWx0KGlucHV0XzQsIHNpemVvZihpbnB1dF80KSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKCQlwcmludChpbnB1dF81LCBzaXplb2YoaW5wdXRfNSkpOwoJCXByaW50ZigiIC0+ICVzXG4iLCByZXN1bHQoaW5wdXRfNSwgc2l6ZW9mKGlucHV0XzUpKSA/ICJ0cnVlIiA6ICJmYWxzZSIpOwoJCXByaW50KGlucHV0XzYsIHNpemVvZihpbnB1dF82KSk7CgkJcHJpbnRmKCIgLT4gJXNcbiIsIHJlc3VsdChpbnB1dF82LCBzaXplb2YoaW5wdXRfNikpID8gInRydWUiIDogImZhbHNlIik7CgkJCgkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKCX0KCgl2b2lkIHByaW50KGludCBhcnJheVtdLCBzaXplX3Qgc2l6ZSkgewoJCXNpemVfdCBsZW5ndGggPSBzaXplIC8gc2l6ZW9mKGludCk7CgkJcHJpbnRmKCJbIik7CgkJdW5zaWduZWQgaW50IGk7CgkJaWYgKGxlbmd0aCA9PSAwKSB7CgkJCXByaW50ZigiXSIpOwoJCQlyZXR1cm47CgkJfQoJCWZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewoJCQlpZiAoaSA9PSBsZW5ndGggLSAxKSB7CgkJCQlwcmludGYoIiVkXSIsIGFycmF5W2ldKTsKCQkJfSBlbHNlIHsKCQkJCXByaW50ZigiJWQsICIsIGFycmF5W2ldKTsKCQkJfQoJCX0KCX0KCglib29sIGNvbnRhaW5zX3plcm8oaW50IGFycmF5W10sIHNpemVfdCBzaXplKSB7CgkJc2l6ZV90IGxlbmd0aCA9IHNpemUgLyBzaXplb2YoaW50KTsKCQl1bnNpZ25lZCBpbnQgaTsKCQlmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKCQkJaWYgKGFycmF5W2ldID09IDApCgkJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCWJvb2wgcmVzdWx0KGludCBhcnJheVtdLCBzaXplX3Qgc2l6ZSkgewoJCWlmIChhcnJheSA9PSBOVUxMKQoJCQlyZXR1cm4gZmFsc2U7CgkJbG9uZyB1bnNpZ25lZCBsZW5ndGggPSBzaXplIC8gc2l6ZW9mKGludCk7CgkJaWYgKGxlbmd0aCA9PSAwKQoJCQlyZXR1cm4gZmFsc2U7CgkJaWYgKGFycmF5WzBdID4gMCkKCQkJcmV0dXJuIGZhbHNlOwoJCWlmIChjb250YWluc196ZXJvKGFycmF5LCBzaXplKSA9PSB0cnVlKQoJCQlyZXR1cm4gdHJ1ZTsKCgkJdW5zaWduZWQgaW50IGluZGV4OwoJCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykgewoJCQlpbnQgbnVtID0gYXJyYXlbaW5kZXhdOwoJCQlpZiAobnVtID09IDApCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJdW5zaWduZWQgaW50IGluZGV4XzI7CgkJCWZvciAoaW5kZXhfMiA9IGluZGV4ICsgMTsgaW5kZXhfMiA8IGxlbmd0aDsgaW5kZXhfMisrKSB7CgkJCQlpbnQgbnVtXzIgPSBhcnJheVtpbmRleF8yXTsKCQkJCWlmIChudW0gKyBudW1fMiA9PSAwKSB7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQ==