Parse integers 
Compute the sum of integers read from STDIN as fast as possible.
Input: 50 000 000 lines, each containing one integer in the range [0; 2147483647].
629871117
2024562523
1372689083
1021777120
2111176472
Output: The uint64 sum of all numbers, printed as a decimal string.
Note: Integer overflow is expected – use a 64-bit accumulator.
Restrictions:30s512Mb 1 Score Packages
CPU Information
| Model | Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz |
| Cores | 1 |
Extensions
fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxfxsrssesse2sshttmpbesyscallnxpdpe1gbrdtscplmconstant_tscarch_perfmonpebsbtsrep_goodnoplxtopologynonstop_tsccpuidaperfmperfpnipclmulqdqdtes64monitords_cplsmxesttm2ssse3sdbgfmacx16xtprpdcmpcidsse4_1sse4_2x2apicmovbepopcnttsc_deadline_timeraesxsaveavxf16crdrandlahf_lmabmcpuid_faultepbptissbdibrsibpbstibpfsgsbasetsc_adjustbmi1avx2smepbmi2ermsinvpcidxsaveoptdthermaratplnptsmd_clearflush_l1dibpb_exit_to_user
Installed Packages
Feel free to create an issue if you need an extra library from the standard Ubuntu repository.
| Name | Version | Description |
|---|---|---|
| libc6-dev | 2.39-0ubuntu8.7 | GNU C Library: Development Libraries and Header Files Contains the symlinks, headers, and object files needed to compile and link programs which use the standard C library. |
| libclang-common-14-dev | 1:14.0.6-19build4 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-15-dev | 1:15.0.7-14build3 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-16-dev | 1:16.0.6-23ubuntu4 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-17-dev | 1:17.0.6-9ubuntu1 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-18-dev | 1:18.1.3-1ubuntu1 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-19-dev | 1:19.1.1-1ubuntu1~24.04.2 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libclang-common-20-dev | 1:20.1.2-0ubuntu1~24.04.3 | Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. . This package contains the Clang generic headers. |
| libcrypt-dev | 1:4.4.36-4build1 | libcrypt development files This package contains the files needed for developing applications that use libcrypt. |
| libgcc-10-dev | 10.5.0-4ubuntu2.1 | GCC support library (development files) This package contains the headers and static library files necessary for building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. |
| libgcc-11-dev | 11.5.0-1ubuntu1~24.04.1 | GCC support library (development files) This package contains the headers and static library files necessary for building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. |
| libgcc-12-dev | 12.4.0-2ubuntu1~24.04.1 | GCC support library (development files) This package contains the headers and static library files necessary for building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. |
| libgcc-13-dev | 13.3.0-6ubuntu2~24.04.1 | GCC support library (development files) This package contains the headers and static library files necessary for building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. |
| libgcc-14-dev | 14.2.0-4ubuntu2~24.04.1 | GCC support library (development files) This package contains the headers and static library files necessary for building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. |
| libobjc-13-dev | 13.3.0-6ubuntu2~24.04.1 | Runtime library for GNU Objective-C applications (development files) This package contains the headers and static library files needed to build GNU ObjC applications. |
| libssl-dev | 3.0.13-0ubuntu3.11 | Secure Sockets Layer toolkit - development files This package is part of the OpenSSL project's implementation of the SSL and TLS cryptographic protocols for secure communication over the Internet. . It contains development libraries, header files, and manpages for libssl and libcrypto. |
| libstdc++-10-dev | 10.5.0-4ubuntu2.1 | GNU Standard C++ Library v3 (development files) This package contains the headers and static library files necessary for building C++ programs which use libstdc++. . libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which was included up to g++-2.95. The first version of libstdc++-v3 appeared in g++-3.0. |
| libstdc++-11-dev | 11.5.0-1ubuntu1~24.04.1 | GNU Standard C++ Library v3 (development files) This package contains the headers and static library files necessary for building C++ programs which use libstdc++. . libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which was included up to g++-2.95. The first version of libstdc++-v3 appeared in g++-3.0. |
| libstdc++-12-dev | 12.4.0-2ubuntu1~24.04.1 | GNU Standard C++ Library v3 (development files) This package contains the headers and static library files necessary for building C++ programs which use libstdc++. . libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which was included up to g++-2.95. The first version of libstdc++-v3 appeared in g++-3.0. |
| libstdc++-13-dev | 13.3.0-6ubuntu2~24.04.1 | GNU Standard C++ Library v3 (development files) This package contains the headers and static library files necessary for building C++ programs which use libstdc++. . libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which was included up to g++-2.95. The first version of libstdc++-v3 appeared in g++-3.0. |
| libstdc++-14-dev | 14.2.0-4ubuntu2~24.04.1 | GNU Standard C++ Library v3 (development files) This package contains the headers and static library files necessary for building C++ programs which use libstdc++. . libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which was included up to g++-2.95. The first version of libstdc++-v3 appeared in g++-3.0. |
| libtbb-dev | 2021.11.0-2ubuntu2 | parallelism library for C++ - development files TBB is a library that helps you leverage multi-core processor performance without having to be a threading expert. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability. . (Note: if you are a user of the i386 architecture, i.e., 32-bit Intel or compatible hardware, this package only supports Pentium4-compatible and higher processors.) . This package includes the TBB development files. |
Discussion (7)
Log in to join the discussion.
I have a lot of cool stuff in my code, like loop unrolling, fancy compiler flags, prefetching, etc… and i believe those contributes to a faster program even though it performs more complex operations. I also ensure that my code has minimal data dependencies (your acc is used by va and vb).
Most of your program time is spent waiting for data (memory bound). Mine too, but I do my CPU computation stuff at the meantime, so just because my program is doing more stuff doesn’t mean i automatically need more time.
Oopps sorry I pasted the table, I didn’t realise it would render like this.
Your run is
#
Date
Score
Wall Time
CPU User
CPU System
Memory
Error
1
Jul 7, 2026 05:29
3,292
35,250,562
26,294,000
1,035,000
2,113,536
2
Jul 7, 2026 05:29
3,292
35,139,783
26,326,000
1,003,000
2,113,536
3
Jul 7, 2026 05:29
3,292
35,162,866
26,313,000
1,016,000
2,113,536
4
Jul 7, 2026 05:29
3,293
35,359,055
26,309,000
1,027,000
2,113,536
5
Jul 7, 2026 05:29
3,294
35,177,755
26,342,000
1,005,000
2,113,536
6
Jul 7, 2026 05:29
3,304
35,254,439
26,410,000
1,015,000
2,113,536
7
Jul 7, 2026 05:29
3,402
36,100,457
27,237,000
1,007,000
2,113,536
8
Jul 7, 2026 05:29
3,466
36,635,521
27,765,000
1,011,000
2,113,536
9
Jul 7, 2026 05:29
3,473
37,323,884
27,795,000
1,032,000
2,113,536
if I run the code below, I get a CPU User slower than yours, this is without trying to answer the solution itself.
Run Statistics
#
Date
Score
Wall Time
CPU User
CPU System
Memory
Error
1
Aug 10, 2026 20:47
0
39,068,386
28,128,000
1,071,000
2,113,536
expected “53684444064224082 “, got “50000000 “
2
Aug 10, 2026 20:47
0
39,068,373
27,993,000
1,091,000
2,113,536
expected “53691875862706076 “, got “50000000 “
3
Aug 10, 2026 20:47
0
40,809,203
29,874,000
1,090,000
2,113,536
expected “53693074276993102 “, got “50000000 “
“goes through the data is somehow slower.”
What are you comparing slower with? My solution?
What I mean is that even this trivial version that does not answer the problem but goes through the data is somehow slower. So I feel like I have missed something.
mmap isnt reading anything. its just mapping the file from the physical page to your program virtual memory.
But this is how I “read” with mmap.
Is there a trick to read as fast as the people in the top? I think even if I just mmap read, I am not as fast as the #1?