Challenge set v1 · specification

Six buildings

Your submission runs against every one of these on three seeds nobody has seen, and the six scores are averaged. The workbench gives you the same buildings on different seeds, so you can tune against the shape of a problem without tuning against the answer.

The Quiet Annexe

Ten floors, one lift, nobody in a hurry. Everything you do wrong is visible.

Floors
10
Lifts
1
People
~64
Arrivals
0.14/s average
Runs for
10 min
Quiet at the end
2.5 min

Morning Rush

Everyone arrives at once and they all want a different floor.

Floors
20
Lifts
4
People
~312
Arrivals
0.42/s average
Runs for
15 min
Quiet at the end
2.5 min

Home Time

Twenty floors of people who have all decided, simultaneously, to leave.

Floors
20
Lifts
4
People
~330
Arrivals
0.44/s average
Runs for
15 min
Quiet at the end
2.5 min

Lunch

Traffic in both directions at once, and a meeting that runs over.

Floors
15
Lifts
3
People
~393
Arrivals
0.37/s average
Runs for
20 min
Quiet at the end
2.5 min

The Tower

Forty floors. Six lifts. Every journey is long and every mistake is longer.

Floors
40
Lifts
6
People
~699
Arrivals
0.67/s average
Runs for
20 min
Quiet at the end
2.5 min

Bad Monday

Morning peak, three lifts, and one of them fails five minutes in.

Floors
20
Lifts
3
People
~179
Arrivals
0.24/s average
Runs for
15 min
Quiet at the end
2.5 min

Car 2 withdrawn at 5 min

Constants of the world

The same in every building. Difficulty comes from floors, lifts and traffic — never from a car that holds a different number of people.

Car capacity
8 people
Top speed
2.4 floors/s
Acceleration
1.2 floors/s²
Doors open
0.8 s
Minimum dwell
2.0 s
Doors close
0.8 s
In or out
0.6 s per person
Decisions
10 per second

How a run is scored

Half the marks are for getting somebody moving inside thirty seconds, which is roughly when a person starts staring at the indicator. Most of the rest is for nobody being abandoned. The last fifth is journey time, so you cannot win by collecting everybody promptly and then taking them on a tour.

score = 100 × (0.50 × under30s + 0.30 × under90s + 0.20 × flow)

flow  = clamp(1 − p95(journey) / reference, 0, 1)

Waiting time is every second spent outside a car between your first button press and arriving. Anyone still standing there when the clock stops is counted at the full length of the run — leaving people behind has to be the worst thing you can do, not the cheapest.

Open the workbench