Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company
- import java.util.*
- fun main() {
- val sc = Scanner(System.`in`)
- val n = sc.nextInt()
- val list = ArrayList<Int>()
- for (i in 0 until n) {
- val num = sc.nextInt()
- list.add(num)
- }
- println(Problem.findPartitionPoint(list, n))
- }
- fun findPartitionPoint(list: ArrayList<Int>, n: Int): Int {
- val prefixSum = IntArray(n)
- prefixSum[0] = list[0]
- for (i in 1 until n) prefixSum[i] = prefixSum[i - 1] + list[i]
- for (i in 0 until n) {
- val leftSum = if (i > 0) prefixSum[i - 1] else 0
- val rightSum = prefixSum[n - 1] - prefixSum[i]
- if (leftSum == rightSum) {
- return i
- }
- }
- return -1
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement