Advertisement
saurav_kalsoor

Minimise Expenses - KOTLIN

Sep 26th, 2021
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.84 KB | None | 0 0
  1. package com.company
  2.  
  3. import java.util.*
  4.  
  5.  
  6. fun main() {
  7.     val sc = Scanner(System.`in`)
  8.     val n = sc.nextInt()
  9.     val expenses = Array(n) { IntArray(2) }
  10.     for (i in 0 until n) {
  11.         expenses[i][0] = sc.nextInt()
  12.         expenses[i][1] = sc.nextInt()
  13.     }
  14.     val result = minimiseExpenses(expenses, n)
  15.     println(result)
  16. }
  17.  
  18.  
  19. fun minimiseExpenses(expenses: Array<IntArray>, n: Int): Int {
  20.     val list = ArrayList<Pair<Int, Int>>()
  21.     for (i in 0 until n) {
  22.         list.add(i, Pair(expenses[i][0] - expenses[i][1], i))
  23.     }
  24.     list.sortWith(Comparator { (first), (first1) -> first - first1 })
  25.    
  26.     var totalExpense = 0
  27.     for (i in 0 until n / 2)
  28.         totalExpense += expenses[list[i].second][0]
  29.    
  30.     for (i in n / 2 until n)
  31.         totalExpense += expenses[list[i].second][1]
  32.     return totalExpense
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement