Все нормально, все що я далі напишу це маленькі зауваження які можна ігнорувати.
Перше що мені кинулось в очі це
for i := 2 to m do
if Y[i] > max_num then
begin
max_index := i;
max_num := Y[i];
end;
можливо воно і працює, але як для людини яка в перший і в останній раз програмувала в паскалі в інституті неочевидно, якби була ще одна пара бегін/енд було б краще.
Дргуге це що немає ; після readln хоче може так і потрібно.
По третє мені не дуже подобаються змінні з назвами Y, m. Я б їх переіменував на щось більш інформативне наприклад array і array_lenght.
Ну і саме найголовніше вам уже сказав Logans. Ця програма працює (на перший погляд) але вона знаходить максимальний елемент в одновимірному масиві довжиною 20 наповненим випадковими елементами. А в вас завдання все ж таки інше.