[尺取法] poj 3061 Subsequence

来源:互联网 发布:b2b营销软件 编辑:程序博客网 时间:2024/05/07 04:17

题目分析

    尺取法裸题。尺取法详解题目见尺取法题目

代码

#include <cstdio>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<map>using namespace std;const int maxn=1e5+5;long long a[maxn];int main(){    int T;    cin>>T;    while(T--)    {        int n,s;        cin>>n>>s;        int ans=2*n;        for(int i=0;i<n;i++) scanf("%d",&a[i]);        int l=0,r;        long long sum=0;        for(r=0;r<n;r++)        {            sum+=a[r];            if(sum<s) continue;            while(l<r && sum-a[l]>=s)                sum-=a[l],l++;            ans=min(ans,r-l+1);        }        if(ans>n) ans=0;        cout<<ans<<endl;    }    return 0;}
0 0
原创粉丝点击