P92 · Packing and covering · Classic · Hard

Sum of radii in the unit circle · n = 40

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 = 40
ObjectiveMaximize the sum of the radii

Record comparison

the sum of the radii · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[5.836305, 5.836315]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 = 40
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.997457065",
      "1.029381877",
      "0.190296339"
    ],
    [
      "0.929172279",
      "1.818345383",
      "0.178595268"
    ],
    [
      "1.267303369",
      "1.796049772",
      "0.160270083"
    ],
    [
      "0.599899989",
      "1.738286047",
      "0.160270099"
    ],
    [
      "1.183509061",
      "0.732828907",
      "0.159787949"
    ],
    [
      "1.229952340",
      "0.191438494",
      "0.159375358"
    ],
    [
      "0.912388820",
      "0.163953316",
      "0.159375365"
    ],
    [
      "0.865123430",
      "0.705272600",
      "0.159787956"
    ],
    [
      "1.655038237",
      "0.469974366",
      "0.157383678"
    ],
    [
      "0.445767939",
      "0.365311855",
      "0.157383706"
    ],
    [
      "1.342885377",
      "1.005405335",
      "0.155963090"
    ],
    [
      "0.661284891",
      "0.946412773",
      "0.155963105"
    ],
    [
      "1.047753591",
      "0.448255691",
      "0.155507884"
    ],
    [
      "1.805020331",
      "0.744441115",
      "0.155388801"
    ],
    [
      "0.250859098",
      "0.609928304",
      "0.155388835"
    ],
    [
      "1.496493862",
      "0.737073269",
      "0.153225629"
    ],
    [
      "0.556063588",
      "0.655678936",
      "0.153225649"
    ],
    [
      "1.813375171",
      "1.238022176",
      "0.152513289"
    ],
    [
      "0.157824788",
      "1.094734240",
      "0.152513324"
    ],
    [
      "1.676526019",
      "1.510550781",
      "0.152444954"
    ],
    [
      "0.245815002",
      "1.386722756",
      "0.152444985"
    ],
    [
      "1.513018542",
      "1.257898191",
      "0.148500266"
    ],
    [
      "0.450300086",
      "1.165919883",
      "0.148500289"
    ],
    [
      "0.745628488",
      "0.421881484",
      "0.147766210"
    ],
    [
      "1.349917381",
      "0.474182768",
      "0.147766198"
    ],
    [
      "0.734992985",
      "1.238525085",
      "0.145305023"
    ],
    [
      "1.220084660",
      "1.280509778",
      "0.145305013"
    ],
    [
      "0.810337225",
      "1.518135612",
      "0.144278818"
    ],
    [
      "1.097820113",
      "1.543017250",
      "0.144278812"
    ],
    [
      "0.367703192",
      "0.885446838",
      "0.143881953"
    ],
    [
      "1.642576093",
      "0.995787168",
      "0.143881926"
    ],
    [
      "1.382533208",
      "1.517017367",
      "0.141618965"
    ],
    [
      "0.534325024",
      "1.443604960",
      "0.141618983"
    ],
    [
      "1.491241927",
      "0.258233352",
      "0.110316690"
    ],
    [
      "0.643508467",
      "0.184861881",
      "0.110316704"
    ],
    [
      "1.524725546",
      "1.721760931",
      "0.107657162"
    ],
    [
      "0.359069531",
      "1.620873451",
      "0.107657179"
    ],
    [
      "0.971820254",
      "1.325589903",
      "0.107019049"
    ],
    [
      "1.893188139",
      "0.991328853",
      "0.106769771"
    ],
    [
      "0.121583801",
      "0.837996379",
      "0.106769798"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 40
}

Starter answer

{
  "circles": [
    [
      "0.997457065",
      "1.029381877",
      "0.190296339"
    ],
    [
      "0.929172279",
      "1.818345383",
      "0.178595268"
    ],
    [
      "1.267303369",
      "1.796049772",
      "0.160270083"
    ],
    [
      "0.599899989",
      "1.738286047",
      "0.160270099"
    ],
    [
      "1.183509061",
      "0.732828907",
      "0.159787949"
    ],
    [
      "1.229952340",
      "0.191438494",
      "0.159375358"
    ],
    [
      "0.912388820",
      "0.163953316",
      "0.159375365"
    ],
    [
      "0.865123430",
      "0.705272600",
      "0.159787956"
    ],
    [
      "1.655038237",
      "0.469974366",
      "0.157383678"
    ],
    [
      "0.445767939",
      "0.365311855",
      "0.157383706"
    ],
    [
      "1.342885377",
      "1.005405335",
      "0.155963090"
    ],
    [
      "0.661284891",
      "0.946412773",
      "0.155963105"
    ],
    [
      "1.047753591",
      "0.448255691",
      "0.155507884"
    ],
    [
      "1.805020331",
      "0.744441115",
      "0.155388801"
    ],
    [
      "0.250859098",
      "0.609928304",
      "0.155388835"
    ],
    [
      "1.496493862",
      "0.737073269",
      "0.153225629"
    ],
    [
      "0.556063588",
      "0.655678936",
      "0.153225649"
    ],
    [
      "1.813375171",
      "1.238022176",
      "0.152513289"
    ],
    [
      "0.157824788",
      "1.094734240",
      "0.152513324"
    ],
    [
      "1.676526019",
      "1.510550781",
      "0.152444954"
    ],
    [
      "0.245815002",
      "1.386722756",
      "0.152444985"
    ],
    [
      "1.513018542",
      "1.257898191",
      "0.148500266"
    ],
    [
      "0.450300086",
      "1.165919883",
      "0.148500289"
    ],
    [
      "0.745628488",
      "0.421881484",
      "0.147766210"
    ],
    [
      "1.349917381",
      "0.474182768",
      "0.147766198"
    ],
    [
      "0.734992985",
      "1.238525085",
      "0.145305023"
    ],
    [
      "1.220084660",
      "1.280509778",
      "0.145305013"
    ],
    [
      "0.810337225",
      "1.518135612",
      "0.144278818"
    ],
    [
      "1.097820113",
      "1.543017250",
      "0.144278812"
    ],
    [
      "0.367703192",
      "0.885446838",
      "0.143881953"
    ],
    [
      "1.642576093",
      "0.995787168",
      "0.143881926"
    ],
    [
      "1.382533208",
      "1.517017367",
      "0.141618965"
    ],
    [
      "0.534325024",
      "1.443604960",
      "0.141618983"
    ],
    [
      "1.491241927",
      "0.258233352",
      "0.110316690"
    ],
    [
      "0.643508467",
      "0.184861881",
      "0.110316704"
    ],
    [
      "1.524725546",
      "1.721760931",
      "0.107657162"
    ],
    [
      "0.359069531",
      "1.620873451",
      "0.107657179"
    ],
    [
      "0.971820254",
      "1.325589903",
      "0.107019049"
    ],
    [
      "1.893188139",
      "0.991328853",
      "0.106769771"
    ],
    [
      "0.121583801",
      "0.837996379",
      "0.106769798"
    ]
  ]
}

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.