Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.math.*;
- import java.security.*;
- import java.text.*;
- import java.util.*;
- import java.util.concurrent.*;
- import java.util.regex.*;
- public class Solution {
- // Complete the balancedSums function below.
- static String balancedSums(List<Integer> arr) {
- int size=list.size();
- int arraySum[]=new int [size];
- int sum=0;
- for(int i=0;i<size+1;i++) {
- arraySum[i]=sum;
- sum+=arraySum[i];
- }
- int total=arraySum[size+1];
- for(int i=0;i<size+1;i++){
- if(total-arraySum[i]==arraySum[i]){
- return "yes";
- }
- }
- return "no";
- }
- public static void main(String[] args) throws IOException {
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
- BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
- int T = Integer.parseInt(bufferedReader.readLine().trim());
- for (int TItr = 0; TItr < T; TItr++) {
- int n = Integer.parseInt(bufferedReader.readLine().trim());
- String[] arrItems = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");
- List<Integer> arr = new ArrayList<>();
- for (int i = 0; i < n; i++) {
- int arrItem = Integer.parseInt(arrItems[i]);
- arr.add(arrItem);
- }
- String result = balancedSums(arr);
- bufferedWriter.write(result);
- bufferedWriter.newLine();
- }
- bufferedReader.close();
- bufferedWriter.close();
- }
- }
- //////////////////////////////////////////////////////////////end of one///////////////////////////////////////////////////////////
- import java.util.Scanner;
- import java.util.StringTokenizer;
- public class Solution {
- private static int checkSum(int [] numbers , int mid)
- {
- int beginning=0;
- int end=0;
- for (int i = 0; i < mid; i++) {
- beginning+=numbers[i];
- }
- for (int i = mid+1; i < numbers.length; i++) {
- end+=numbers[i];
- }
- if(beginning==end)
- return 0;
- else if(beginning<end)
- return 1;
- return -1;
- }
- public static boolean findMeduim(int [] numbers,int start,int end)
- {
- if(start>end)
- {
- return false;
- }
- int mid=(start+end)/2;
- int move=checkSum(numbers, mid);
- if(move==0)
- return true;
- else if(move==1)
- return findMeduim(numbers, mid+1, end);
- return findMeduim(numbers, start, mid-1);
- }
- public static void main(String[] args) {
- Scanner s =new Scanner(System.in);
- int cases=Integer.parseInt(s.nextLine());
- for (int i = 0; i < cases; i++) {
- int N=Integer.parseInt(s.nextLine());
- int [] numbers=new int [N];
- StringTokenizer st=new StringTokenizer(s.nextLine());
- for (int j = 0; j < N; j++) {
- numbers[j]=Integer.parseInt(st.nextToken());
- }
- if(findMeduim(numbers,0,N-1))
- System.out.println("YES");
- else
- System.out.println("NO");
- }
- }
- }
- //////////////////////////////////////////////////////////end of 2////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment