Сегодня Пари и Арий играют в игру Остатки. Пари выбирает два положительных целых числа x и k и говорит Арию k (а x не говорит). Арий должен найти x mod k . Известны n древних чисел c1, c2, ..., cn, и для каждого из них Арий мож...

Сегодня Пари и Арий играют в игру Остатки. Пари выбирает два положительных целых числа x и k и говорит Арию k (а x не говорит). Арий должен найти x mod k . Известны n древних чисел c1, c2, ..., cn, и для каждого из них Арий может спросить у Пари x mod c . Для данного k и набора древних чисел определите, правда ли, что Арий выигрывает для любого значения x? Входные данные В первой строке входных данных записаны два целых числа n и k (1 ≤ n,  k ≤ 1 000 000) — количество древних чисел и значение k, выбранное Пари. Во второй строке записаны n целых чисел c1, c2, ..., cn (1 ≤ ci ≤ 1 000 000). Выходные данные Выведите «Yes» (без кавычек), если Арий может выиграть для любого x, и «No» (без кавычек) в противном случае.
Гость
Ответ(ы) на вопрос:
Гость
//Получилось странное, но вроде бы жизнеспособное //Pascal ABC.NET 3.1  сборка 1219 Var  arr,arc:array of integer;  k,n,i:integer; begin readln(n); setlength(arc,n+1); readln(k); setlength(arr,k); for i:=1 to n do  begin   readln(arc[i]);   inc(arr[arc[i] mod k]);  end; for i:=0 to k-1 do if arr[i]=0 then  begin   writeln('No');   exit;  end; writeln('Yes'); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы