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 10, 2026 01:50 | CPPg++14.2.0 | Success | 3,550+7.91 RP | ||
| Aug 10, 2026 01:31 | CPPg++14.2.0 | Success | 3,560+6.30 RP | ||
| Aug 10, 2026 01:06 | CPPg++14.2.0 | Success | 3,595 | ||
| Aug 10, 2026 00:57 | CPPg++14.2.0 | Success | 3,568+157.89 RP | ||
| Aug 10, 2026 00:49 | CPPg++14.2.0 | Success | 3,781+14.61 RP | ||
| Aug 10, 2026 00:46 | CPPg++14.2.0 | Success | 3,802+32.12 RP | ||
| Aug 10, 2026 00:32 | CPPg++14.2.0 | Success | 3,849+15.43 RP | ||
| Aug 10, 2026 00:18 | CPPg++14.2.0 | Success | 3,872+3.33 RP | ||
| Aug 10, 2026 00:15 | CPPg++14.2.0 | Success | 3,883+5.00 RP | ||
| Aug 9, 2026 23:53 | CPPg++14.2.0 | Success | 3,877+9.28 RP | ||
| Aug 9, 2026 23:49 | CPPg++14.2.0 | Success | 3,906 | ||
| Aug 9, 2026 23:36 | CPPg++14.2.0 | Success | 3,891 | ||
| Aug 9, 2026 23:26 | CPPg++14.2.0 | Success | 3,929 | ||
| Aug 9, 2026 23:15 | CPPg++14.2.0 | Success | 4,206 | ||
| Aug 9, 2026 23:08 | CPPg++14.2.0 | Success | 3,907 | ||
| Aug 9, 2026 23:05 | CPPg++14.2.0 | Success | 3,891+20.96 RP | ||
| Aug 9, 2026 22:45 | CPPg++14.2.0 | Success | 3,923+16.14 RP | ||
| Aug 9, 2026 22:39 | CPPg++14.2.0 | Success | 3,948+335.61 RP | ||
| Aug 9, 2026 22:34 | CPPg++14.2.0 | Success | 4,580 | ||
| Aug 9, 2026 22:29 | CSHARP10.0.7 | Success | 3,010+327.35 RP | ||
| Aug 9, 2026 22:21 | CPPg++14.2.0 | Success | 4,674 | ||
| Aug 9, 2026 22:20 | RUSTrust-1.95.0 | Success | 2,975+349.05 RP | ||
| Aug 9, 2026 22:15 | CPPclang++20.1.2 | Success | 2,993 | ||
| Aug 9, 2026 22:11 | CPPg++14.2.0 | Success | 4,568 | ||
| Aug 9, 2026 22:10 | CPPclang++20.1.2 | Success | 3,072 | ||
| Aug 9, 2026 22:05 | CPPclang++20.1.2 | Success | 2,978+35.90 RP | ||
| Aug 9, 2026 22:01 | CPPclang++20.1.2 | Success | 7,553 | ||
| Aug 9, 2026 21:55 | CPPg++14.2.0 | Success | 4,599 | ||
| Aug 9, 2026 21:54 | ZIG0.16.0 | Success | 2,998+358.48 RP | ||
| Aug 9, 2026 21:48 | CPPclang++20.1.2 | Success | 7,166 | ||
| Aug 9, 2026 21:43 | GOgo1.26.2 | Success | 3,012+356.21 RP | ||
| Aug 9, 2026 21:38 | CPPg++14.2.0 | Success | 4,551+4.82 RP | ||
| Aug 9, 2026 21:35 | CPPg++14.2.0 | Success | 4,653 | ||
| Aug 9, 2026 21:33 | CPPg++14.2.0 | Success | 4,862 | ||
| Aug 9, 2026 21:28 | CPPg++14.2.0 | Success | 4,561+14.80 RP | ||
| Aug 9, 2026 21:24 | CPPg++14.2.0 | Success | 4,708 | ||
| Aug 9, 2026 21:13 | CPPg++14.2.0 | Success | 6,506 | ||
| Aug 9, 2026 21:11 | CPPg++10.5.0 | Success | 15,185+531.47 RP | ||
| Aug 9, 2026 21:09 | CPPg++14.2.0 | Success | 4,614 | ||
| Aug 9, 2026 21:06 | CPPclang++20.1.2 | Success | 4,017 | ||
| Aug 9, 2026 21:05 | CPPg++14.2.0 | Success | 4,596 | ||
| Aug 9, 2026 21:03 | CPPclang++20.1.2 | Success | 4,653 | ||
| Aug 9, 2026 20:57 | CPPg++14.2.0 | Success | 5,567 | ||
| Aug 9, 2026 20:56 | CPPclang++20.1.2 | Success | 3,129 | ||
| Aug 9, 2026 20:53 | CPPg++14.2.0 | Success | 4,592+24.38 RP | ||
| Aug 9, 2026 20:48 | CPPg++14.2.0 | Success | 4,644+43.17 RP | ||
| Aug 9, 2026 20:46 | CPPg++13.3.0 | Success | 79,834 | ||
| Aug 9, 2026 20:44 | CPPclang++20.1.2 | Success | 4,712 | ||
| Aug 9, 2026 20:40 | CPPg++10.5.0 | Success | 78,691+8.89 RP | ||
| Aug 9, 2026 20:38 | CPPg++14.2.0 | Success | 4,739+288.32 RP | ||
| Aug 9, 2026 20:35 | CPPclang++20.1.2 | Success | 3,343 | ||
| Aug 9, 2026 20:32 | CPPg++10.5.0 | Error | |||
| Aug 9, 2026 20:30 | CPPg++14.2.0 | Success | 5,489+25.53 RP | ||
| Aug 9, 2026 20:30 | CPPg++10.5.0 | Success | 84,613+118.19 RP | ||
| Aug 9, 2026 20:23 | CPPclang++20.1.2 | Success | 3,400 | ||
| Aug 9, 2026 20:23 | CPPg++14.2.0 | Success | 5,711 | ||
| Aug 9, 2026 20:17 | CPPg++14.2.0 | Success | 5,704 | ||
| Aug 9, 2026 20:11 | CPPg++14.2.0 | Success | 5,567+7.71 RP | ||
| Aug 9, 2026 20:07 | CPPclang++20.1.2 | Success | 5,591+8.28 RP | ||
| Aug 9, 2026 20:03 | CPPclang++20.1.2 | Success | 5,632 | ||
| Aug 9, 2026 19:55 | CPPclang++20.1.2 | Success | 5,752 | ||
| Aug 9, 2026 19:46 | CPPclang++20.1.2 | Success | 5,683 | ||
| Aug 9, 2026 19:42 | CPPclang++20.1.2 | Success | 2,994+68.46 RP | ||
| Aug 9, 2026 19:32 | CPPclang++20.1.2 | Success | 3,045 | ||
| Aug 9, 2026 19:28 | CPPclang++20.1.2 | Success | 5,623 | ||
| Aug 9, 2026 19:27 | CPPclang++20.1.2 | Success | 3,094 | ||
| Aug 9, 2026 19:22 | CPPclang++20.1.2 | Success | 3,025+482.24 RP | ||
| Aug 9, 2026 19:20 | CPPclang++20.1.2 | Success | 6,082 | ||
| Aug 9, 2026 19:15 | CPPclang++20.1.2 | Success | 3,263+121.42 RP | ||
| Aug 9, 2026 19:09 | CPPclang++20.1.2 | Success | 5,617+1'780.31 RP | ||
| Aug 9, 2026 18:32 | CPPclang++20.1.2 | Success | 5,427 | ||
| Aug 9, 2026 18:27 | CPPclang++20.1.2 | Success | 3,493 | ||
| Aug 9, 2026 18:22 | CPPclang++20.1.2 | Success | 3,713 | ||
| Aug 9, 2026 18:17 | CSHARP10.0.7 | Success | 3,339+614.52 RP | ||
| Aug 9, 2026 18:12 | RUSTrust-1.95.0 | Success | 3,316+995.82 RP | ||
| Aug 9, 2026 18:07 | GOgo1.26.2 | Success | 3,374+503.82 RP | ||
| Aug 9, 2026 17:59 | ZIG0.16.0 | Success | 3,359+509.16 RP | ||
| Aug 9, 2026 17:51 | CPPclang++20.1.2 | Success | 3,720 | ||
| Aug 9, 2026 17:45 | CPPclang++20.1.2 | Success | 5,592 | ||
| Aug 9, 2026 17:40 | CPPclang++20.1.2 | Success | 6,639 | ||
| Aug 9, 2026 17:34 | CPPclang++20.1.2 | Success | 3,345 | ||
| Aug 9, 2026 17:29 | CPPg++14.2.0 | Success | 3,498 | ||
| Aug 9, 2026 17:24 | CPPclang++20.1.2 | Success | 3,342+10.72 RP | ||
| Aug 9, 2026 17:19 | CPPclang++20.1.2 | Success | 3,622 | ||
| Aug 9, 2026 17:14 | CPPclang++20.1.2 | Success | 3,398 | ||
| Aug 9, 2026 17:09 | CPPclang++20.1.2 | Success | 3,348+5.34 RP | ||
| Aug 9, 2026 17:04 | CPPclang++20.1.2 | Success | 3,351+58.20 RP | ||
| Aug 9, 2026 16:59 | CPPclang++20.1.2 | Success | 3,389 | ||
| Aug 9, 2026 16:54 | CPPclang++20.1.2 | Success | 3,434 | ||
| Aug 9, 2026 16:49 | CPPclang++20.1.2 | Success | 3,384+65.64 RP | ||
| Aug 9, 2026 16:44 | CPPclang++20.1.2 | Success | 5,077 | ||
| Aug 9, 2026 16:39 | CPPclang++20.1.2 | Success | 3,430 | ||
| Aug 9, 2026 16:34 | CPPclang++20.1.2 | Success | 3,497 | ||
| Aug 9, 2026 16:29 | CPPclang++20.1.2 | Success | 3,520 | ||
| Aug 9, 2026 16:24 | CPPclang++20.1.2 | Success | 3,462 | ||
| Aug 9, 2026 16:19 | CPPclang++20.1.2 | Success | 3,654 | ||
| Aug 9, 2026 16:14 | CPPclang++20.1.2 | Error | |||
| Aug 9, 2026 16:09 | CPPclang++20.1.2 | Success | 3,422+13.64 RP | ||
| Aug 9, 2026 16:04 | CPPclang++20.1.2 | Success | 3,430+269.16 RP | ||
| Aug 9, 2026 15:59 | CPPclang++20.1.2 | Success | 4,326 |