Одно из "быстрых по написанию" решений, не учитывающих фактор наличия упорядоченности массивов. Это разумно: 10 баллов за решение - не та цена, за которую есть смысл составлять и отлаживать эффективный алгоритм поиска по упорядоченным массивам.
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
var x:=ArrRandom(ReadInteger('p='),-20,20).Sorted;
var y:=ArrRandom(ReadInteger('q='),-10,15).Sorted;
var z:=ArrRandom(ReadInteger('r='),1,18).Sorted;
x.Println; y.Println; z.Println;
var r:=x.Intersect(y.Intersect(z));
if r.Count=0 then Writeln('Нет общих элементов')
else begin Write ('Общие элементы: '); r.Println end
end.
Тестовое решение
p= 15
q= 13
r= 18
-19 -16 -15 -11 -7 -7 -2 0 0 2 4 7 10 14 20
-8 -6 -4 -4 -4 -3 -1 4 4 9 13 13 15
1 1 2 2 2 4 4 5 6 9 10 12 12 14 14 15 15 17
Общие элементы: 4