Напишите код на С за правильый ответ Омкар получил сообщение от Антона: «Ваша легенда по задаче A слишком запутанная. Просто сделайте формальное условие». В связи с этим Омкар дает вам массив a=[a1,a2,…,an] из n попарно различных целых чисел. Массив b=[b1,b2,…,bk] называется хорошим, если для любых различных элементов bi,bj массива b, |bi−bj| встречается в b хотя бы один раз. Кроме того, все элементы b должны быть попарно различными. Можете ли вы добавить несколько (возможно, 0) целых чисел в a, чтобы получился хороший массив b размером не более 300? Если a уже хороший, вы не обязаны добавлять никаких элементов.
Например, массив [3,6,9] является хорошим, поскольку |6−3|=|9−6|=3, встречается в массиве, и |9−3|=6, встречается в массиве, тогда как массив [4,2,0,6,9] не является хорошим, поскольку |9−4|=5 не встречается в массиве.
Для целых чисел x и y, |x−y|=x−y, если x>y и |x−y|=y−x в противном случае.
Входные данные
Каждый тест содержит несколько наборов входных данных. Первая строка содержит t (1≤t≤50), количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число n (2≤n≤100) — длину массива a.
Вторая строка каждого набора входных данных содержит n попарно различных целых чисел a1,a2,⋯,an (−100≤ai≤100) — элементы массива a.
Выходные данные
Для каждого набора входных данных выведите одну строку, содержащую YES, если Омкар может создать хороший массив b путем добавления целых чисел к a и NO в противном случае. Регистр каждой буквы не имеет значения, поэтому YEs и nO также будут приняты.
Если первая строка YES, выведите вторую строку, содержащую одно целое число k (n≤k≤300).
Затем выведите одну строку, содержащую k попарно различных целых чисел b1,b2,⋯,bk (−109≤bi≤109) — элементы хорошего массива b. b1,b2,⋯,bk могут быть в любом порядке. Для каждого ai из a, ai должно хотя бы раз встречаться в b.
Можно показать, что если Омкар может создать такой массив b, то он может сделать это и таким образом, чтобы удовлетворить вышеуказанным ограничениям.
Если существует несколько решений, можно вывести любое.
По условию:
abc
+ abc
bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13
13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16)
-> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
{Выводит узор из 100 произвольно размещенных окружностей произвольного
радиуса и цвета}
uses Graph;
var
grDriver:integer;
grMode: integer;
grPath:string;
ErrCode:integer;
x,y,r: integer; ( координаты центра и радиус окружности }
i: integer;
begin
grDriver:=VGA;
grMode:=VGAHi;
grPath:=' ';
InitGraph (grDriver,grMode,grPath);
ErrCode:=GraphResult;
if ErrCode <> grOk then
begin
writeln ('Ошибка инициализации графического режима.1);
writeln ('Для завершения работы нажмите <Enter>');
readln;
Halt(l);
end;
Randomize;
for i:=l to 100 do
begin
x:=Random(640);
y:=Random(480);
r:=Random(240);
Setcolor(Random(16));
Circle(x,y,r);
end;
readin;
end.