pranay_teja
11/10/2018 - 7:16 AM

HR-SherlockAndArrays

#include <bits/stdc++.h>
using namespace std;

// #HR #Stack

bool possible(vector<int> a){
    int sum=0;
    for(int i=0;i<a.size();i++){
        sum+=a[i];
    }
    int stackSum=0;
    if(stackSum==sum-a[0]){
        return true; // left border
    }
    for(int i=0;i<a.size()-1;i++){
        stackSum+=a[i];
        sum-=a[i];
        if(stackSum==sum-a[i+1]){
            return true; // i+1 is the desired index
        }
    }
    if(stackSum==0){
        return true; // right border
    }
    return false;
}
int main(){
    //freopen("ip.txt","r",stdin);
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        vector<int> a(n);
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        if(possible(a)){
            cout<<"YES"<<endl;
        }else{
            cout<<"NO"<<endl;
        }
    }
    return 0;
}