n = int(input()) # получаем кол-во продуктов и записываем в n
a = {} # библиотека для цен
c = {} # библиотека для кол-во продукта
l = [] # массив для всех проданных продуктов
for i1 in range(n): # цикл для заполнения всех массивов
b = [] # массив b для отделения цены о названия продукта
b.append(input().split()) # записываем продукт и его цену в массив b
k = int(b[0][len(b[0])-1]) # записываем в k цену продукта
v = ''
for i in range(len(b[0])-1): # при цикла объединяем название в одну строчку и записываем в v
v = v + str(b[0][i]) + ' '
l.append(v) # добавляем название в массив l
a[v] = k # добавляем цену и продукт в библиотеку a
c[v] = 0 # добавляем продукт в библиотеку b
for i in range(len(l)): # записываем при цикла кол-во каждого продукта
c[l[i]] = c[l[i]]+1
print(len(c)) # выводим кол-во продуктов, которые были проданы
for i in a: # при цикла выводим продукт и сколько за него в итоге заплатили
print(str(i)+str(a[i]*c[i]))
Объяснение
type mas=array[1..a] of integer;
mas1=array[1..3] of byte;
var R, Q, P:mas;
X:mas1;
i:byte;
procedure Form(var R, Q, P:mas);
var sr, sq, sp:byte;
begin
sr:=0;
sq:=0;
sp:=0;
for i:=1 to a do
begin
if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i];
if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i];
if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i];
end;
x[1]:=sr;
x[2]:=sq;
x[3]:=sp;
writeln('Massiv x');
for i:=1 to 3 do
write(x[i]:3);
end;
begin
randomize;
for i:=1 to a do
begin
R[i]:=random(10);
Q[i]:=random(10);
P[i]:=random(10);
end;
writeln('Massiv r');
for i:=1 to a do
write(R[i]:3);
writeln;
writeln('Massiv Q');
for i:=1 to a do
write(Q[i]:3);
writeln;
writeln('Massiv P');
for i:=1 to a do
write(P[i]:3);
end.