java没有lower_bound…
import java.util.Scanner;
public class POJ_3061 {
static int n,s;
static int[] a=new int[100005];
static int[] sum=new int[100006];
static void solve(){
for (int i = 0; i < n; i++) {
sum[i+1]=sum[i]+a[i];
}
if(sum[n]<s){
System.out.println(0);
return;
}
int res=n;
for (int i = 0; sum[i] + s<=sum[n] ; i++) {
int t=lower_bound(i,n,i);
res=Math.min(res,t-i);
}
System.out.println(res);
}
static int lower_bound(int lb,int ub,int i){
while(ub-lb>1){
int mid=(lb+ub)/2;
if(sum[mid]>=sum[i]+s){
ub=mid;
}else{
lb=mid;
}
}
return ub;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int k=sc.nextInt();
while(k-->0){
n=sc.nextInt();
s=sc.nextInt();
for (int i = 0; i < n; i++) {
a[i]=sc.nextInt();
}
solve();
}
}
}