Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Problem {
- public static void main(String[] args){
- Scanner sc = new Scanner(System.in);
- int n = sc.nextInt();
- ArrayList<Integer> list = new ArrayList<>();
- for(int i=0; i<n; i++){
- int num = sc.nextInt();
- list.add(num);
- }
- System.out.println(findPartitionPoint(list, n));
- }
- public static int findPartitionPoint(ArrayList<Integer> list, int n){
- int[] prefixSum = new int[n];
- prefixSum[0] = list.get(0);
- for(int i=1; i < n; i++)
- prefixSum[i] = prefixSum[i-1] + list.get(i);
- for(int i=0; i < n; i++){
- int leftSum = i > 0 ? prefixSum[i-1] : 0;
- int rightSum = prefixSum[n-1] - prefixSum[i];
- if(leftSum == rightSum){
- return i;
- }
- }
- return -1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement