P92 · Packing and covering · Classic · Hard

Sum of radii in the unit circle · n = 30

Place n non-overlapping circles inside a circle of radius 1, each with its own radius, making the sum of the radii as large as possible.

Instancen = 30
ObjectiveMaximize the sum of the radii

Record comparison

the sum of the radii · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[5.019, 5.020]See source attributionErich Friedman ↗
Site recordNo player record yet——

Formal definition

  • ContainerThe closed disc of radius 1 centred at (1, 1); a circle may touch the boundary
  • SubmissionExactly n circles, each [x, y, r] with r > 0, every number to at most nine decimals
  • ConstraintsEvery circle lies inside the disc, (x − 1)² + (y − 1)² ≤ (1 − r)², and no two interiors meet: the distance between centres is at least the sum of the radii. All checked exactly in integers; touching is allowed
  • ScoreThe sum of the radii, an exact integer sum shown to nine decimals; larger is betterS=Σr
  • ObjectiveMaximise the sum of the radii over every legal arrangementmaxSΣr
Open the full editor ↗

Layout shown: starter layout

2y0
0x2
VERIFIED CONSTRUCTIONscored by the sum of the radii

Getting a feel for it

Where the room for improvement is

As in the square, equal circles are among the worst strategies: one large circle near the centre, or a ring of large ones, with small circles tucked into the gaps between them and the rim. A disc has no corners, so the big circle in a corner becomes a ring along the rim, and the trade of sizes plays out in a different geometry.

Where the frontier is

Erich Friedman's maximum-total-perimeter table runs to n = 50: n ≤ 4 and 6–10 are closed-form arrangements by Elser and Cantrell, n = 5 was improved by Haowei Lin in July 2026, and n = 33–50 were added by Jonathan Viquerat in September 2026. The table is still being rewritten and no row carries an optimality proof; the site exhibits the pictured arrangements, reconstructed and verified exactly.

Source
The current arrangement for Sum of radii in the unit circle n = 30
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Challenge this record ↗Submit a proof / idea ↓Share a proof or idea in the discussion. Accepted contributions can earn proof points.
ANSWER FORMAT

How to write your answer

The container is the disc of radius 1 centred at (1, 1), so every coordinate lies in [0, 2] and none is negative. Coordinates and radii share one unit and are written as plain decimals, to at most nine places.

Submit circles: exactly n triples [x, y, r], every number a decimal string of at most nine places such as "0.25". The container is the closed disc of radius 1 centred at (1, 1).

Starter answer

{
  "circles": [
    [
      "0.834345096",
      "1.089533805",
      "0.217633682"
    ],
    [
      "0.256670095",
      "0.706259024",
      "0.200735895"
    ],
    [
      "1.740762714",
      "0.687873566",
      "0.196164003"
    ],
    [
      "0.484147836",
      "0.382226392",
      "0.195172262"
    ],
    [
      "1.748374078",
      "1.307800705",
      "0.190799756"
    ],
    [
      "0.645015989",
      "0.730389643",
      "0.188358977"
    ],
    [
      "0.622753985",
      "1.719374851",
      "0.187710192"
    ],
    [
      "1.517368183",
      "0.374766989",
      "0.188466787"
    ],
    [
      "1.534429541",
      "1.616064828",
      "0.184432218"
    ],
    [
      "0.983026664",
      "1.814829742",
      "0.184993495"
    ],
    [
      "0.442999656",
      "1.035351559",
      "0.177444752"
    ],
    [
      "1.012458692",
      "0.735015330",
      "0.179112839"
    ],
    [
      "1.367881679",
      "0.708582859",
      "0.177291671"
    ],
    [
      "0.558784491",
      "1.365231163",
      "0.172164573"
    ],
    [
      "1.553169106",
      "1.003339809",
      "0.170865031"
    ],
    [
      "1.214005191",
      "1.018398816",
      "0.168633031"
    ],
    [
      "0.224710455",
      "1.302711084",
      "0.167709257"
    ],
    [
      "0.883204695",
      "1.474117185",
      "0.170040969"
    ],
    [
      "0.841277413",
      "0.435460699",
      "0.165903111"
    ],
    [
      "1.394122979",
      "1.297568586",
      "0.163599083"
    ],
    [
      "1.170316401",
      "0.431316481",
      "0.163161972"
    ],
    [
      "1.200024459",
      "1.551632347",
      "0.156123655"
    ],
    [
      "1.004995815",
      "0.157072518",
      "0.157057713"
    ],
    [
      "1.862003462",
      "0.999263576",
      "0.137996223"
    ],
    [
      "0.133146912",
      "1.016287422",
      "0.132993912"
    ],
    [
      "1.296535695",
      "1.819446465",
      "0.128549526"
    ],
    [
      "0.342938873",
      "1.573559591",
      "0.127818866"
    ],
    [
      "0.723387267",
      "0.169697993",
      "0.124833714"
    ],
    [
      "1.108875854",
      "1.289108548",
      "0.121773470"
    ],
    [
      "1.284055705",
      "0.169514731",
      "0.122279414"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 30
}

Starter answer

{
  "circles": [
    [
      "0.834345096",
      "1.089533805",
      "0.217633682"
    ],
    [
      "0.256670095",
      "0.706259024",
      "0.200735895"
    ],
    [
      "1.740762714",
      "0.687873566",
      "0.196164003"
    ],
    [
      "0.484147836",
      "0.382226392",
      "0.195172262"
    ],
    [
      "1.748374078",
      "1.307800705",
      "0.190799756"
    ],
    [
      "0.645015989",
      "0.730389643",
      "0.188358977"
    ],
    [
      "0.622753985",
      "1.719374851",
      "0.187710192"
    ],
    [
      "1.517368183",
      "0.374766989",
      "0.188466787"
    ],
    [
      "1.534429541",
      "1.616064828",
      "0.184432218"
    ],
    [
      "0.983026664",
      "1.814829742",
      "0.184993495"
    ],
    [
      "0.442999656",
      "1.035351559",
      "0.177444752"
    ],
    [
      "1.012458692",
      "0.735015330",
      "0.179112839"
    ],
    [
      "1.367881679",
      "0.708582859",
      "0.177291671"
    ],
    [
      "0.558784491",
      "1.365231163",
      "0.172164573"
    ],
    [
      "1.553169106",
      "1.003339809",
      "0.170865031"
    ],
    [
      "1.214005191",
      "1.018398816",
      "0.168633031"
    ],
    [
      "0.224710455",
      "1.302711084",
      "0.167709257"
    ],
    [
      "0.883204695",
      "1.474117185",
      "0.170040969"
    ],
    [
      "0.841277413",
      "0.435460699",
      "0.165903111"
    ],
    [
      "1.394122979",
      "1.297568586",
      "0.163599083"
    ],
    [
      "1.170316401",
      "0.431316481",
      "0.163161972"
    ],
    [
      "1.200024459",
      "1.551632347",
      "0.156123655"
    ],
    [
      "1.004995815",
      "0.157072518",
      "0.157057713"
    ],
    [
      "1.862003462",
      "0.999263576",
      "0.137996223"
    ],
    [
      "0.133146912",
      "1.016287422",
      "0.132993912"
    ],
    [
      "1.296535695",
      "1.819446465",
      "0.128549526"
    ],
    [
      "0.342938873",
      "1.573559591",
      "0.127818866"
    ],
    [
      "0.723387267",
      "0.169697993",
      "0.124833714"
    ],
    [
      "1.108875854",
      "1.289108548",
      "0.121773470"
    ],
    [
      "1.284055705",
      "0.169514731",
      "0.122279414"
    ]
  ]
}

Submit circles: exactly n triples [x, y, r], every number a decimal string of at most nine places such as "0.25". The container is the closed disc of radius 1 centred at (1, 1). · Verifier v1.0.0

DISCUSSION

Discussion

Talk strategy, share methods, ask why you are stuck. Every signed-in user can post. Posts carry your public byline, the same name your records use; the #number after it is the account's signup ordinal, so a name cannot be worn by someone else. New posts appear after an automated review.