diff options
Diffstat (limited to '1')
| -rw-r--r-- | 1/1.ha | 49 | ||||
| -rw-r--r-- | 1/in | 6 |
2 files changed, 0 insertions, 55 deletions
@@ -1,49 +0,0 @@ -use fmt; -use bufio; -use os; -use shlex; -use strings; -use strconv; -use sort; -use sort::cmp; - -export fn main() void = { - const sc = bufio::newscanner(os::stdin); - defer bufio::finish(&sc); - - let l1: []int = []; - let l2: []int = []; - defer free(l1); - defer free(l2); - for (const line => bufio::scan_line(&sc)!) { - const tok = strings::tokenize(line, " "); - let isfirst = true; - for (const t => strings::next_token(&tok)) { - if (t == "") { - continue; - }; - const x = strconv::stoi(t)!; - if (isfirst) { - append(l1, x); - isfirst = false; - } else { - append(l2, x); - }; - }; - }; - sort::sort(l1, size(int), &cmp::ints); - sort::sort(l2, size(int), &cmp::ints); - let sum = 0; - for (let i = 0z; i < len(l1); i += 1) { - const l = l1[i]; - const j = l2[i]; - const diff = if (l > j) { - yield (l, j, l - j); - } else { - yield (j, l, j - l); - }; - fmt::printfln("{} - {} = {}", diff.0, diff.1, diff.2)!; - sum += diff.2; - }; - fmt::println(sum)!; -}; @@ -1,6 +0,0 @@ -3 4 -4 3 -2 5 -1 3 -3 9 -3 3 |
