Files
carbon-lang/examples/advent2024/day1_part1.carbon
T
Lucile Rose Nihlen 31cc20f6e3 move Core//range into prelude (#7524)
As discussed in the 2026-06-14 toolchain open meeting, `Range`
is a better fit for the prelude than as a general library in
`Core`. This PR moves `Range` into the prelude, and updates
the build infrastructure and various tests to reflect that
change.
2026-07-16 21:36:45 +00:00

27 lines
661 B
Plaintext

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// https://adventofcode.com/2024/day/1
import Core library "io";
import library "day1_common";
import library "sort";
fn Abs(n: i32) -> i32 { return if n < 0 then -n else n; }
fn Run() {
var a: array(i32, 1000);
var b: array(i32, 1000);
let n: i32 = ReadInputs(ref a, ref b);
Quicksort(ref a, 0, n);
Quicksort(ref b, 0, n);
var difference: i32 = 0;
for (i: i32 in Core.Range(n)) {
difference += Abs(a[i] - b[i]);
}
Core.Print(difference);
}