POJ 3061

来源:互联网 发布:linux 重启后 svn失效 编辑:程序博客网 时间:2024/06/05 19:32
//时间复杂度为O(nlogn)#include <iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxn=100000+5;int a[maxn];int sum[maxn];int main(){    int t;    scanf("%d",&t);    while(t--)    {        int n,s;        scanf("%d%d",&n,&s);        for(int i=0;i<n;i++)              scanf("%d",&a[i]);        memset(sum,0,sizeof(sum));        for(int i=1;i<=n;i++)              sum[i]=sum[i-1]+a[i-1];        if(sum[n]<s) printf("0\n");        else {                int res=n;                for(int e=0;sum[e]+s<=sum[n];e++)                    {                      int k=lower_bound(sum+e,sum+n,sum[e]+s)-sum;                      res=min(res,k-e);                     }                cout<<res<<endl;        }    }    return 0;}
原创粉丝点击