Пробная задача автоматизированного зачета

Пусть R - отношение порядка на множестве чисел. R-Рангом элемента x массива A назовем количество элементов y массива A, таких что выполняется отношение x R y.

Например, если R - это отношение >, то >-ранг элемента х массива A равен мощности множества {y из A | x > y}.

Пусть заданы массивы A и B. Определелим R(A, B) как R-ранг первого по порядку элемента массива A, который не содержится в массиве B. Будем говорить, что массив A R-меньше массива B, если R(A, B) меньше R(B, A). Для двух массивов A и B положительных целых чисел требуется выполнить следующее преобразование. Из каждого элемента массива, который R-меньше другого, вычесть максимальное по модулю (в обычном смысле) значение другого массива. Отношение R опредляется как сравнение позиции старшего разряда в битовом представлении: x R y означает, что в позиция старшего разряда числа x больше позиции старшего разряда числа y.

Запрещается использовать дополнительные массивы. Исходные массивы считываются из файлов impA.txt и impB.txt. Формат файла: сначала длина массива, потом его элементы через пробел. Результат записывать в аналогичном формате в файл output.txt. В случае успеха функция main должна возвращать 0, если задача не имеет решения, или произошла техническая ошибка (отсутствие файлов, ошибка формата файла и т.п.) функция main должна вернуть значение -1.

Директория должна называться az-test. В директории не должно быть лишних файлов с расширением .c (либо один файл, либо, если программа разделена на несколько файлов, все Си-файлы необходимы для компиляции программы).