#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
bool flag=true;
int n;
scanf("%d",&n);
long long sum=0,Maxn=-(1<<63)+1;
for(int i=1;i<=n;i++){
long long x;
scanf("%lld",&x);
Maxn=max(Maxn,x);
if(sum+x>Maxn){
puts("NO");
flag=false;
break;
}
sum+=x;
if(sum<0){
sum=0;
Maxn=-1e18;
}
}
if(flag) puts("YES");
}
return 0;
}
线性时间复杂度