ahmed19981973

Untitled

Apr 22nd, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.17 KB | None | 0 0
  1. import java.io.*;
  2. import java.math.*;
  3. import java.security.*;
  4. import java.text.*;
  5. import java.util.*;
  6. import java.util.concurrent.*;
  7. import java.util.regex.*;
  8.  
  9. public class Solution {
  10.  
  11.     // Complete the balancedSums function below.
  12.     static String balancedSums(List<Integer> arr) {
  13.         int size=list.size();
  14.         int arraySum[]=new int [size];
  15.         int sum=0;
  16.         for(int i=0;i<size+1;i++) {
  17.             arraySum[i]=sum;
  18.             sum+=arraySum[i];
  19.         }
  20.         int total=arraySum[size+1];
  21.         for(int i=0;i<size+1;i++){
  22.             if(total-arraySum[i]==arraySum[i]){
  23.             return "yes";
  24.             }
  25.         }
  26.         return "no";
  27.    
  28.             }
  29.  
  30.     public static void main(String[] args) throws IOException {
  31.         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
  32.         BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
  33.  
  34.         int T = Integer.parseInt(bufferedReader.readLine().trim());
  35.  
  36.         for (int TItr = 0; TItr < T; TItr++) {
  37.             int n = Integer.parseInt(bufferedReader.readLine().trim());
  38.  
  39.             String[] arrItems = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");
  40.  
  41.             List<Integer> arr = new ArrayList<>();
  42.  
  43.             for (int i = 0; i < n; i++) {
  44.                 int arrItem = Integer.parseInt(arrItems[i]);
  45.                 arr.add(arrItem);
  46.             }
  47.  
  48.             String result = balancedSums(arr);
  49.  
  50.             bufferedWriter.write(result);
  51.             bufferedWriter.newLine();
  52.         }
  53.  
  54.         bufferedReader.close();
  55.         bufferedWriter.close();
  56.     }
  57. }
  58. //////////////////////////////////////////////////////////////end of one///////////////////////////////////////////////////////////
  59. import java.util.Scanner;
  60. import java.util.StringTokenizer;
  61.  
  62.  
  63. public class Solution {
  64.  
  65.     private static int checkSum(int [] numbers , int mid)
  66.     {
  67.         int beginning=0;
  68.         int end=0;
  69.         for (int i = 0; i < mid; i++) {
  70.             beginning+=numbers[i];
  71.         }
  72.         for (int i = mid+1; i < numbers.length; i++) {
  73.             end+=numbers[i];
  74.         }
  75.         if(beginning==end)
  76.             return 0;
  77.         else if(beginning<end)
  78.             return 1;
  79.         return -1;
  80.     }
  81.     public static boolean findMeduim(int [] numbers,int start,int end)
  82.     {
  83.         if(start>end)
  84.         {
  85.             return false;
  86.         }
  87.         int mid=(start+end)/2;
  88.         int move=checkSum(numbers, mid);
  89.         if(move==0)
  90.             return true;
  91.         else if(move==1)
  92.             return findMeduim(numbers, mid+1, end);
  93.        
  94.         return findMeduim(numbers, start, mid-1);
  95.        
  96.     }
  97.     public static void main(String[] args) {
  98.        
  99.         Scanner s =new Scanner(System.in);
  100.         int cases=Integer.parseInt(s.nextLine());
  101.         for (int i = 0; i < cases; i++) {
  102.             int N=Integer.parseInt(s.nextLine());
  103.             int [] numbers=new int [N];
  104.             StringTokenizer st=new StringTokenizer(s.nextLine());
  105.             for (int j = 0; j < N; j++) {
  106.                 numbers[j]=Integer.parseInt(st.nextToken());
  107.             }
  108.             if(findMeduim(numbers,0,N-1))
  109.                 System.out.println("YES");
  110.             else
  111.                 System.out.println("NO");
  112.         }
  113.     }
  114. }
  115. //////////////////////////////////////////////////////////end of 2////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment