#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_VALUE 2000000001L
int main(void) {
register long int counter,tmp, main_num, num_to_add, i1,i2;
long int *array, smallest[3], size;
FILE *input, *output;
if(!(input
= fopen("operators.in","r"))) { printf("Failed to open operators.in\n"); }
if(!(output
= fopen("operators.out","w"))) { printf("Failed to open operators.out\n"); }
smallest[0] = MAX_VALUE;
if(!(array
= (long int *) malloc(size
* sizeof(long int)))) { printf("Failed to allocate memory for input\n"); }
array[0] = 0;
counter = 1;
fscanf(input
, "%ld", &array
[0]);
do {
fscanf(input
, "%ld", &array
[counter
]); fscanf(input
, "%ld", &array
[counter
+ 1]); i1
= labs(array
[0] + array
[counter
]); i2
= labs(array
[0] + array
[counter
+ 1]); counter += 2;
}while(counter - 2 < size && i1 > i2);
array
= (long int *) realloc((long int *) array
, ((size
= counter
) * sizeof(long int)));
for(main_num = 0; main_num < size; main_num++) {
for(num_to_add = main_num + 1; num_to_add < size; num_to_add++) {
if((tmp
= (labs(((int ) array
[main_num
] + array
[num_to_add
])))) < smallest
[0]) { smallest[0] = tmp;
smallest[1] = array[main_num];
smallest[2] = array[num_to_add];
}
}
}
fprintf(output
,"%ld %ld",smallest
[1],smallest
[2]);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCiNkZWZpbmUgTUFYX1ZBTFVFIDIwMDAwMDAwMDFMCgppbnQgbWFpbih2b2lkKQl7CglyZWdpc3RlciBsb25nIGludCBjb3VudGVyLHRtcCwgbWFpbl9udW0sIG51bV90b19hZGQsIGkxLGkyOwoJbG9uZyBpbnQgKmFycmF5LCBzbWFsbGVzdFszXSwgc2l6ZTsKCUZJTEUgKmlucHV0LCAqb3V0cHV0OwoJCglpZighKGlucHV0ID0gZm9wZW4oIm9wZXJhdG9ycy5pbiIsInIiKSkpCXsKCQlwcmludGYoIkZhaWxlZCB0byBvcGVuIG9wZXJhdG9ycy5pblxuIik7CgkJZXhpdChFWElUX0ZBSUxVUkUpOwoJfQoJaWYoIShvdXRwdXQgPSBmb3Blbigib3BlcmF0b3JzLm91dCIsInciKSkpCXsKCQlwcmludGYoIkZhaWxlZCB0byBvcGVuIG9wZXJhdG9ycy5vdXRcbiIpOwoJCWV4aXQoRVhJVF9GQUlMVVJFKTsKCX0KCQoJc21hbGxlc3RbMF0gPSBNQVhfVkFMVUU7CgoJZnNjYW5mKGlucHV0LCIlbGQiLCZzaXplKTsKCQoJaWYoIShhcnJheSA9IChsb25nIGludCAqKSBtYWxsb2Moc2l6ZSAqIHNpemVvZihsb25nIGludCkpKSkJewoJCXByaW50ZigiRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgaW5wdXRcbiIpOwoJCWV4aXQoRVhJVF9GQUlMVVJFKTsKCX0KCQoJYXJyYXlbMF0gPSAwOwoJY291bnRlciA9IDE7Cglmc2NhbmYoaW5wdXQsICIlbGQiLCAmYXJyYXlbMF0pOwoJCglkbwl7CgkJZnNjYW5mKGlucHV0LCAiJWxkIiwgJmFycmF5W2NvdW50ZXJdKTsKCQlmc2NhbmYoaW5wdXQsICIlbGQiLCAmYXJyYXlbY291bnRlciArIDFdKTsKCQlpMSA9IGxhYnMoYXJyYXlbMF0gKyBhcnJheVtjb3VudGVyXSk7CgkJaTIgPSBsYWJzKGFycmF5WzBdICsgYXJyYXlbY291bnRlciArIDFdKTsKCQljb3VudGVyICs9IDI7Cgl9d2hpbGUoY291bnRlciAtIDIgPCBzaXplICYmIGkxID4gaTIpOwoKCQoJYXJyYXkgPQkobG9uZyBpbnQgKikgcmVhbGxvYygobG9uZyBpbnQgKikgYXJyYXksICgoc2l6ZSA9IGNvdW50ZXIpICogc2l6ZW9mKGxvbmcgaW50KSkpOwoJCglmb3IobWFpbl9udW0gPSAwOyBtYWluX251bSA8IHNpemU7IG1haW5fbnVtKyspCXsKCQlmb3IobnVtX3RvX2FkZCA9IG1haW5fbnVtICsgMTsgbnVtX3RvX2FkZCA8IHNpemU7IG51bV90b19hZGQrKykJewoJCQlpZigodG1wID0gKGxhYnMoKChpbnQgKSBhcnJheVttYWluX251bV0gKyBhcnJheVtudW1fdG9fYWRkXSkpKSkgPCBzbWFsbGVzdFswXSkJewoJCQkJc21hbGxlc3RbMF0gPSB0bXA7CgkJCQlzbWFsbGVzdFsxXSA9IGFycmF5W21haW5fbnVtXTsKCQkJCXNtYWxsZXN0WzJdID0gYXJyYXlbbnVtX3RvX2FkZF07CgkJCX0KCQl9Cgl9CgkJCglmcHJpbnRmKG91dHB1dCwiJWxkICVsZCIsc21hbGxlc3RbMV0sc21hbGxlc3RbMl0pOwoJCglmcmVlKGFycmF5KTsKCQoJZXhpdChFWElUX1NVQ0NFU1MpOwp9