mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
A collection of additional Carbon examples demonstrating current language capabilities and some limitations of the current state of the toolchain. --------- Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
29 lines
653 B
Plaintext
29 lines
653 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: [i32; 1000];
|
|
var b: [i32; 1000];
|
|
var n: i32 = ReadInputs(&a, &b);
|
|
Quicksort(&a, 0, n);
|
|
Quicksort(&b, 0, n);
|
|
|
|
var i: i32 = 0;
|
|
var difference: i32 = 0;
|
|
while (i < n) {
|
|
difference += Abs(a[i] - b[i]);
|
|
i += 1;
|
|
}
|
|
Core.Print(difference);
|
|
}
|