За 5-те най-бързи според мен минимума е с 9 или 8 гонки в един от случаите.
Нека A1 е най-бързия след 6-те гонки, с които сме сортиране на матрицата.
Правим 7-мата гонка по "зелената линия" (като при определяне на 3-те най-бързи) от където определяме 2-рия и 3-тия при нас.
За тези двама най-бързи на 7-ма гонка по "зелената линия" имаме 4 варианта:
1. A2+A3
2. A2+B1
3. B1+B2
4. B1+C1
При 4-те случая правим следната операция: двамата най-бързи (2-ри и 3-ти при нас) ги махаме и shift-ваме надясно останалите на редовете им.
За първи вариант като махнем A2 и A3 shift-ваме само пъвия ред и е достатъчно да направим само 8-ма гонка на "зелената линия" и да вземем двата най-бързи за 4-ти и 5-ти т.е. става с 8 гонки.
Иначе в останалите три случая понеже сме махнали лидер (B1 или C1) трябва да сортираме матрицата по новите лидери преди да пуснем "зелената линия" за определяне на 4-ти и 5-ти т.е. те стават с 9 гонки общо.
Звучи много добре, но кое ти гарантира, че B3 не е по-бърз от B1 или B2, а ти го изключваш.
Всичко, което знаем е, че B1 е по-бавен от A1, и че B2 е по-бавен от A2, както и че B3 е по-бавен от A3. Също така A1 е по-бърз от A2, а A2 е по-бърз от A3. Но това не гарантира, че B1 е по-бърз от B2 или B3.
Решението ти не обхваща общия случай. За частни случаи може да е вярно.
Моето предложение е да разпростреш зелената линия до B3, а не до C1.
Т.е. седмото надбягване да бъде между B1,B2,B3,A2 и A3.
Така получаваш втория най-бърз.
В зависимост от коя колона е най-бързия шифтваш нагоре същата и правиш ново надбягване за определяне на третия аналогично. Така се получава 8 надбягвания за 3 най-бързи, и 10 за 5-те най-бързи.
P.S. Всъщност нищо не ти гарантира, че B4 или B5 не е по-бърз от B3.
Пак се връщаме на моето първоначално решение за най-общия случай.
Съжалявам, но с по-малко от 8 надбягвания за 3-те най-бързи и 10 за 5-те просто не става.
Помислете малко и ще видите, че е така.