尺取法模板

int chiqu()
{
    int l = 0,r = 0;
    int ans = 0,len = MAXN;
    while(true)
    {
        while(r <= n && ans < S)
            r ++,ans += num[r];
        if(ans < S)  break;
        len = min(len,r - l + 1);
        ans -= num[l ++];
    }
    return len < n ? len : 0;
}

猜你喜欢

转载自blog.csdn.net/baiyi_destroyer/article/details/81086932