>>108672888
I write my own stuff, 100% human, 0% clanker.
#include "aoc.h"
const N tt = 2503;
struct T{N km, s, rest, flying, resting, distance, points;};
V<T> v;
N f(N km, N s, N rest) {
v += T{km, s, rest, s, 0, 0, 0};
const N t = s + rest, c = tt / t, r = tt % t;
return (c * s + (r < s ? r : s)) * km;
}
MAIN
φc(in / '\n') λx(λxy($sort(f(x, $Ng(y.h), $Ng(y.t)), p1))
($Ng(x.h), x.t | ','))(c | '/');
N max;
φi(tt) max = 0, v >> λm(
m.flying ? m.distance += m.km, --m.flying || (m.resting = m.rest) :
--m.resting || (m.flying = m.s), $sort(+m.distance, max)),
v >> λm(m.points += m.distance == max);
φc(v) $sort(c.points, p2), $ c.distance, c.points;
END