Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author : Saurav Kalsoor
- // Game with Thor and Loki - JAVA
- import java.util.*
- import java.lang.*
- var sc: Scanner = Scanner(System.`in`)
- fun main() {
- val n: Int = sc.nextInt()
- val arr: ArrayList<Int> = ArrayList<Int>()
- for (i in 0 until n) {
- val input: Int = sc.nextInt()
- arr.add(input)
- }
- gameWithThorAndLoki(arr, n)
- }
- fun gameWithThorAndLoki(arr: ArrayList<Int>, n: Int) {
- val start = 0
- val end = n - 1
- val isThorsTurn = true
- val res: ArrayList<Int> = recurr(arr, start, end, isThorsTurn)
- println(res.get(0).toString() + " " + res.get(1))
- }
- fun recurr(arr: ArrayList<Int>, start: Int, end: Int, isThorsTurn: Boolean) : ArrayList<Int> {
- var start = start
- var end = end
- if (start > end) {
- val res: ArrayList<Int> = ArrayList<Int>()
- res.add(0)
- res.add(0)
- return res
- }
- val left: Int = arr.get(start)
- val right: Int = arr.get(end)
- var currThor = 0
- var currLoki = 0
- if (isThorsTurn) {
- currThor = Math.max(left, right)
- currLoki = Math.min(left, right)
- } else {
- currLoki = Math.max(left, right)
- currThor = Math.min(left, right)
- }
- start++
- end--
- val res: ArrayList<Int> = recurr(arr, start, end, !isThorsTurn)
- res.set(0, res.get(0) + currThor)
- res.set(1, res.get(1) + currLoki)
- return res
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement