From c0125afce532d8509d373382e10c9a912d1f85eb Mon Sep 17 00:00:00 2001 From: ToxicMushroom <32853531+ToxicMushroom@users.noreply.github.com> Date: Thu, 28 Aug 2025 16:28:52 +0200 Subject: [PATCH] Fix minimizer --- src/main/kotlin/Main.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index 381ad9a..90f7d7b 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -37,10 +37,11 @@ fun main() { // Minimize transactions: for ((user, transactions) in payments.iterator()) { for ((target, pay) in transactions.iterator()) { - val payback = payments[target]?.firstNotNullOf { (other, euros) -> - assert(user == other) - euros - } ?: continue + val payback = payments[target] + ?.filter { (other, _) -> other == user } + ?.firstNotNullOfOrNull { (_, euros) -> + euros + } ?: continue val common = min(pay, payback) val newPay = pay - common val newPayback = payback - common @@ -51,6 +52,7 @@ fun main() { payments[target] = payments[target]!!.also { it[user] = newPayback } + println("Minimized $user -> $target for $common") } }