Group by sum 
Aggregate 125,000,000 key/value records by key as fast as possible.
The task is equivalent to this query:
SELECT SUM(s * s) FROM (
SELECT SUM(value) AS s FROM records GROUP BY key
)
Input
Exactly 125,000,000 records on STDIN, 8 bytes each, back to back (1,000,000,000 bytes in total):
| Offset | Type | Field |
|---|---|---|
| 0 | uint32 little-endian |
key |
| 4 | uint32 little-endian |
value |
Guarantees:
- The records contain exactly 4,000,000 distinct keys.
- A key is an arbitrary value in
[0, 2^32)and may repeat any number of times. - A value is an arbitrary value in
[0, 2^32).
Output
Group the records by key, sum the values of each group, then write the sum of the squares of those group sums to STDOUT as a decimal string:
answer = SUM(sum_k * sum_k) over all 4,000,000 distinct keys k
Both the squaring and the outer sum are computed modulo 2^64 (unsigned 64-bit wraparound). An individual group sum never overflows uint64.
Example
For the six records
key=7 value=10
key=3 value=4000000000
key=7 value=20
key=9 value=1
key=3 value=4000000000
key=7 value=30
the group sums are sum_7 = 60, sum_3 = 8000000000 and sum_9 = 1, so
60*60 + 8000000000*8000000000 + 1*1 = 64000000000000003601
64000000000000003601 mod 2^64 = 8659767778871348753
and the program prints 8659767778871348753.
| Date | Author | Language | Status | Score | |
|---|---|---|---|---|---|
| Oct 19, 2026 04:36 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 04:34 | CPPg++14.2.0 | Success | 2,966+85.31 RP | ||
| Oct 19, 2026 04:31 | CPPg++14.2.0 | Success | 3,315 | ||
| Oct 19, 2026 04:29 | CPPg++14.2.0 | Success | 3,951 | ||
| Oct 19, 2026 04:28 | CPPg++14.2.0 | Success | 4,004 | ||
| Oct 19, 2026 04:24 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 04:22 | CPPg++14.2.0 | Success | 3,073 | ||
| Oct 19, 2026 04:19 | CPPg++14.2.0 | Success | 3,228 | ||
| Oct 19, 2026 04:16 | CPPg++14.2.0 | Success | 3,125 | ||
| Oct 19, 2026 04:09 | CPPg++14.2.0 | Success | 3,043+132.65 RP | ||
| Oct 19, 2026 04:07 | CPPg++14.2.0 | Success | 3,586 | ||
| Oct 19, 2026 04:06 | CPPg++14.2.0 | Success | 3,973 | ||
| Oct 19, 2026 04:04 | CPPg++14.2.0 | Success | 3,171+5.96 RP | ||
| Oct 19, 2026 04:00 | CPPg++14.2.0 | Success | 3,203 | ||
| Oct 19, 2026 03:59 | CPPg++14.2.0 | Success | 3,177+7.91 RP | ||
| Oct 19, 2026 03:56 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:54 | CPPg++14.2.0 | Success | 3,423 | ||
| Oct 19, 2026 03:52 | CPPg++14.2.0 | Success | 3,204 | ||
| Oct 19, 2026 03:51 | CPPg++14.2.0 | Success | 3,185+28.33 RP | ||
| Oct 19, 2026 03:49 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:47 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:44 | CPPg++14.2.0 | Success | 3,604 | ||
| Oct 19, 2026 03:41 | CPPg++14.2.0 | Success | 3,214+0.97 RP | ||
| Oct 19, 2026 03:38 | CPPg++14.2.0 | Success | 3,215+56.05 RP | ||
| Oct 19, 2026 03:36 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:31 | CPPg++14.2.0 | Success | 3,527 | ||
| Oct 19, 2026 03:28 | CPPg++14.2.0 | Success | 3,587 | ||
| Oct 19, 2026 03:25 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:22 | CPPg++14.2.0 | Success | 3,586 | ||
| Oct 19, 2026 03:19 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:18 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:17 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:14 | CPPg++14.2.0 | Success | 3,274+12.08 RP | ||
| Oct 19, 2026 03:11 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 03:00 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:55 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:53 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:52 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:50 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:49 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:47 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:44 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:41 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:41 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:36 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:30 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:28 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:24 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:23 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:22 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:20 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:19 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:18 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:17 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:16 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:15 | CPPg++14.2.0 | Error | |||
| Oct 19, 2026 02:13 | CPPg++14.2.0 | Success | 3,287+6.47 RP | ||
| Oct 19, 2026 02:00 | CPPg++14.2.0 | Success | 4,129 | ||
| Oct 19, 2026 01:56 | CPPg++14.2.0 | Success | 3,294+797.68 RP | ||
| Oct 18, 2026 23:53 | GOgo1.26.2 | Success | 9,578 | ||
| Oct 18, 2026 23:50 | GOgo1.26.2 | Success | 9,281 | ||
| Oct 18, 2026 20:48 | GOgo1.26.2 | Success | 9,305 | ||
| Oct 18, 2026 20:40 | GOgo1.26.2 | Error | |||
| Oct 18, 2026 20:09 | GOgo1.26.2 | Error | |||
| Oct 18, 2026 16:58 | GOgo1.26.2 | Success | 9,183 | ||
| Oct 18, 2026 16:22 | GOgo1.26.2 | Success | 10,855 | ||
| Oct 18, 2026 16:16 | GOgo1.26.2 | Error | |||
| Oct 18, 2026 15:35 | GOgo1.26.2 | Success | 8,974+2.35 RP | ||
| Oct 18, 2026 15:33 | GOgo1.26.2 | Success | 8,993+6.52 RP | ||
| Oct 18, 2026 09:00 | CPPg++14.2.0 | Success | 3,137+469.63 RP | ||
| Oct 18, 2026 04:59 | CPPg++10.5.0 | Success | 84,160+118.82 RP | ||
| Oct 17, 2026 08:09 | CPPclang++14.0.6 | Success | 3,679+44.33 RP | ||
| Oct 17, 2026 08:09 | CPPclang++20.1.2 | Success | 3,740+262.42 RP | ||
| Oct 17, 2026 08:09 | CPPclang++14.0.6 | Success | 4,428 | ||
| Oct 17, 2026 08:09 | CPPclang++20.1.2 | Success | 4,504 | ||
| Oct 17, 2026 07:53 | CPPclang++14.0.6 | Success | 4,147+36.08 RP | ||
| Oct 17, 2026 07:52 | CPPg++14.2.0 | Success | 4,248 | ||
| Oct 17, 2026 07:52 | CPPg++10.5.0 | Success | 4,210+2.82 RP | ||
| Oct 17, 2026 07:52 | CPPclang++20.1.2 | Success | 4,215+234.81 RP | ||
| Oct 17, 2026 07:48 | CPPclang++14.0.6 | Success | 4,861 | ||
| Oct 17, 2026 07:46 | CPPg++14.2.0 | Success | 4,678+3.19 RP | ||
| Oct 17, 2026 07:45 | CPPg++10.5.0 | Success | 4,685+289.45 RP | ||
| Oct 17, 2026 07:22 | CPPg++10.5.0 | Success | 5,420+1'845.02 RP | ||
| Oct 17, 2026 05:49 | CPPg++14.2.0 | Success | 4,491 | ||
| Oct 17, 2026 05:49 | CPPg++14.2.0 | Success | 4,485 | ||
| Oct 17, 2026 04:07 | CPPg++14.2.0 | Success | 4,468+76.44 RP | ||
| Oct 17, 2026 03:56 | CPPg++14.2.0 | Success | 4,626+428.59 RP | ||
| Oct 16, 2026 23:10 | ZIG0.15.1 | Success | 3,468 | ||
| Oct 16, 2026 21:34 | RUSTrust-1.95.0 | Success | 3,554 | ||
| Oct 15, 2026 18:41 | GOgo1.26.2 | Success | 9,115 | ||
| Oct 15, 2026 17:45 | GOgo1.26.2 | Success | 9,046+838.87 RP | ||
| Oct 15, 2026 17:34 | GOgo1.26.2 | Error | |||
| Oct 15, 2026 17:30 | GOgo1.26.2 | Error | |||
| Oct 15, 2026 17:01 | GOgo1.26.2 | Error | |||
| Oct 15, 2026 16:57 | GOgo1.26.2 | Success | 37,520 | ||
| Oct 15, 2026 16:51 | GOgo1.26.2 | Success | 37,697 | ||
| Oct 15, 2026 16:45 | GOgo1.26.2 | Error | |||
| Oct 15, 2026 16:38 | GOgo1.26.2 | Error | |||
| Oct 15, 2026 16:32 | GOgo1.26.2 | Success | 37,511+266.59 RP | ||
| Oct 10, 2026 00:37 | CPPclang++18.1.3 | Success | 5,907 |