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 | |
|---|---|---|---|---|---|
| Aug 23, 2026 15:29 | CPPg++14.2.0 | Success | 4,207+1'540.24 RP | ||
| Aug 23, 2026 15:13 | CPPg++14.2.0 | Success | 11,951+719.91 RP | ||
| Aug 21, 2026 19:26 | CPPg++14.2.0 | Success | 85,588+116.84 RP | ||
| Aug 18, 2026 14:59 | CPPclang++20.1.2 | Success | 2,542 | ||
| Aug 18, 2026 14:43 | CPPclang++20.1.2 | Success | 2,381 | ||
| Aug 18, 2026 14:32 | CPPclang++20.1.2 | Success | 2,386 | ||
| Aug 18, 2026 14:10 | CPPclang++20.1.2 | Success | 2,417 | ||
| Aug 18, 2026 14:05 | CPPclang++20.1.2 | Success | 2,419 | ||
| Aug 18, 2026 14:01 | CPPclang++20.1.2 | Success | 2,380+31.66 RP | ||
| Aug 18, 2026 13:47 | CPPclang++20.1.2 | Success | 2,397 | ||
| Aug 18, 2026 13:42 | CPPclang++20.1.2 | Success | 2,405 | ||
| Aug 18, 2026 13:35 | CPPclang++20.1.2 | Success | 2,432 | ||
| Aug 18, 2026 13:31 | CPPclang++20.1.2 | Success | 2,392 | ||
| Aug 18, 2026 13:31 | RUSTrust-1.95.0 | Success | 2,400+525.01 RP | ||
| Aug 18, 2026 13:28 | ZIG0.16.0 | Success | 2,390+560.91 RP | ||
| Aug 18, 2026 13:24 | CPPclang++20.1.2 | Success | 2,487 | ||
| Aug 18, 2026 13:20 | CSHARP10.0.7 | Success | 2,392+609.17 RP | ||
| Aug 18, 2026 13:17 | GOgo1.26.2 | Success | 2,397+484.57 RP | ||
| Aug 18, 2026 13:12 | CPPclang++20.1.2 | Success | 2,399 | ||
| Aug 18, 2026 13:09 | CPPclang++20.1.2 | Success | 2,394 | ||
| Aug 18, 2026 12:57 | CPPclang++20.1.2 | Success | 2,389+45.30 RP | ||
| Aug 18, 2026 12:53 | CPPclang++20.1.2 | Success | 2,402+34.52 RP | ||
| Aug 18, 2026 12:47 | CPPclang++20.1.2 | Success | 2,482 | ||
| Aug 18, 2026 12:39 | CPPclang++20.1.2 | Success | 2,738 | ||
| Aug 18, 2026 12:28 | CPPclang++20.1.2 | Success | 2,412+88.42 RP | ||
| Aug 18, 2026 12:23 | CPPclang++20.1.2 | Success | 2,448 | ||
| Aug 18, 2026 12:19 | CPPclang++20.1.2 | Success | 3,669 | ||
| Aug 18, 2026 12:02 | CPPclang++20.1.2 | Success | 2,980 | ||
| Aug 18, 2026 11:56 | CPPclang++20.1.2 | Success | 2,697 | ||
| Aug 18, 2026 11:51 | CPPclang++20.1.2 | Success | 2,485 | ||
| Aug 18, 2026 11:44 | CPPclang++20.1.2 | Success | 2,438+3.36 RP | ||
| Aug 18, 2026 11:40 | CPPclang++20.1.2 | Success | 2,942 | ||
| Aug 18, 2026 11:38 | CPPclang++20.1.2 | Success | 2,439 | ||
| Aug 18, 2026 11:34 | CPPclang++20.1.2 | Success | 2,439+6.72 RP | ||
| Aug 18, 2026 11:30 | CPPclang++20.1.2 | Success | 2,444 | ||
| Aug 18, 2026 11:27 | CPPclang++20.1.2 | Success | 2,441+66.58 RP | ||
| Aug 18, 2026 11:25 | CPPclang++20.1.2 | Success | 2,500 | ||
| Aug 18, 2026 11:20 | CPPclang++20.1.2 | Success | 2,604 | ||
| Aug 18, 2026 11:12 | CPPclang++20.1.2 | Success | 2,732 | ||
| Aug 18, 2026 11:09 | CPPclang++20.1.2 | Success | 2,469 | ||
| Aug 18, 2026 11:05 | CPPclang++20.1.2 | Success | 2,473 | ||
| Aug 18, 2026 10:54 | CPPclang++20.1.2 | Success | 2,461+218.52 RP | ||
| Aug 18, 2026 10:52 | CPPclang++20.1.2 | Success | 2,529+3.12 RP | ||
| Aug 18, 2026 10:42 | CPPclang++20.1.2 | Error | |||
| Aug 18, 2026 10:38 | CPPclang++20.1.2 | Success | 2,530+31.12 RP | ||
| Aug 18, 2026 10:35 | CPPclang++20.1.2 | Success | 2,546 | ||
| Aug 18, 2026 10:32 | CPPclang++20.1.2 | Success | 2,937 | ||
| Aug 18, 2026 10:28 | CPPclang++20.1.2 | Success | 3,147 | ||
| Aug 18, 2026 10:24 | CPPclang++20.1.2 | Success | 2,562 | ||
| Aug 18, 2026 10:20 | CPPclang++20.1.2 | Success | 2,544 | ||
| Aug 18, 2026 10:14 | CPPg++14.2.0 | Success | 2,791 | ||
| Aug 18, 2026 10:12 | CPPclang++20.1.2 | Success | 2,547 | ||
| Aug 18, 2026 10:09 | CPPclang++20.1.2 | Success | 2,542 | ||
| Aug 18, 2026 10:06 | CPPclang++20.1.2 | Success | 2,548 | ||
| Aug 18, 2026 10:03 | CPPclang++20.1.2 | Success | 2,540+30.88 RP | ||
| Aug 18, 2026 09:59 | CPPclang++20.1.2 | Success | 2,560 | ||
| Aug 18, 2026 09:56 | CPPclang++20.1.2 | Success | 2,563 | ||
| Aug 18, 2026 09:53 | CPPclang++20.1.2 | Success | 2,550+147.86 RP | ||
| Aug 18, 2026 09:50 | CPPclang++20.1.2 | Success | 2,613 | ||
| Aug 18, 2026 09:46 | CPPclang++20.1.2 | Success | 2,608 | ||
| Aug 18, 2026 09:43 | CPPclang++20.1.2 | Success | 2,609 | ||
| Aug 18, 2026 09:40 | CPPclang++20.1.2 | Success | 2,599+35.36 RP | ||
| Aug 18, 2026 09:37 | CPPclang++20.1.2 | Success | 2,706 | ||
| Aug 18, 2026 09:33 | CPPclang++20.1.2 | Success | 2,613 | ||
| Aug 18, 2026 09:30 | CPPclang++20.1.2 | Success | 2,628 | ||
| Aug 18, 2026 09:28 | CPPclang++20.1.2 | Success | 2,611+107.04 RP | ||
| Aug 18, 2026 09:25 | CPPclang++20.1.2 | Success | 2,648+142.72 RP | ||
| Aug 18, 2026 09:22 | CPPclang++20.1.2 | Success | 2,774 | ||
| Aug 18, 2026 09:18 | CPPclang++20.1.2 | Success | 2,743 | ||
| Aug 18, 2026 09:17 | GOgo1.26.2 | Success | 2,712+101.80 RP | ||
| Aug 18, 2026 09:14 | CPPclang++20.1.2 | Success | 2,791 | ||
| Aug 18, 2026 09:08 | CPPclang++20.1.2 | Success | 3,320 | ||
| Aug 18, 2026 09:00 | CPPclang++20.1.2 | Success | 3,096 | ||
| Aug 18, 2026 08:58 | CPPclang++20.1.2 | Success | 2,707 | ||
| Aug 18, 2026 08:52 | CPPclang++20.1.2 | Success | 2,699+21.90 RP | ||
| Aug 18, 2026 08:49 | CPPclang++20.1.2 | Success | 2,707+27.20 RP | ||
| Aug 18, 2026 08:45 | CPPclang++20.1.2 | Success | 4,615 | ||
| Aug 18, 2026 08:34 | CPPclang++20.1.2 | Success | 3,376 | ||
| Aug 18, 2026 08:32 | CSHARP10.0.7 | Success | 2,837 | ||
| Aug 18, 2026 08:29 | CPPclang++20.1.2 | Success | 2,717 | ||
| Aug 18, 2026 08:27 | RUSTrust-1.95.0 | Success | 2,746+139.03 RP | ||
| Aug 18, 2026 08:26 | CPPclang++20.1.2 | Success | 2,743 | ||
| Aug 18, 2026 08:23 | CPPclang++20.1.2 | Success | 2,789 | ||
| Aug 18, 2026 08:20 | CPPclang++20.1.2 | Success | 2,717+104.16 RP | ||
| Aug 18, 2026 08:16 | CPPclang++20.1.2 | Success | 4,182 | ||
| Aug 18, 2026 08:12 | CPPclang++20.1.2 | Success | 2,756+57.17 RP | ||
| Aug 18, 2026 08:07 | CPPclang++20.1.2 | Success | 2,876 | ||
| Aug 18, 2026 08:03 | CPPclang++20.1.2 | Success | 2,799 | ||
| Aug 18, 2026 07:57 | CPPclang++20.1.2 | Success | 2,872 | ||
| Aug 18, 2026 07:53 | CPPclang++20.1.2 | Success | 2,876 | ||
| Aug 18, 2026 07:46 | ZIG0.16.0 | Success | 2,760+273.10 RP | ||
| Aug 18, 2026 07:45 | CPPclang++20.1.2 | Success | 2,915 | ||
| Aug 18, 2026 07:30 | CPPclang++20.1.2 | Success | 3,040 | ||
| Aug 18, 2026 07:27 | CPPclang++20.1.2 | Success | 3,017 | ||
| Aug 18, 2026 07:24 | CPPclang++20.1.2 | Success | 2,796+38.16 RP | ||
| Aug 18, 2026 07:21 | CPPclang++20.1.2 | Success | 2,878 | ||
| Aug 18, 2026 07:14 | CPPclang++20.1.2 | Success | 2,851 | ||
| Aug 18, 2026 07:11 | CPPclang++20.1.2 | Success | 2,906 | ||
| Aug 18, 2026 07:07 | CPPclang++20.1.2 | Success | 2,834 | ||
| Aug 18, 2026 07:04 | CPPclang++20.1.2 | Success | 2,946 |