Subsequence

Subsequence

https://ac.nowcoder.com/acm/problem/107658

题目很水,但是有个小坑,就是所有数的和加起来小于s的时候输出0。还有因为是其他oj的题,注意一下语法,万能头不能用,其他的就没什么了
#include <iostream>
#include<algorithm>
using namespace std;
int a[100005];</algorithm></iostream>

int main()
{
int t;
cin >> t;
while (t--)
{
long long sum = 0;
long long n, s = 0;
cin >> n >> s;
for (int i = 1; i <= n; i++)
cin >> a[i];
long long l = 1, r = 1;
sum = a[1];
while (sum < s && r < n)
{
r++;
sum += a[r];
}
if (r >= n && sum < s)
{
cout << 0 << endl;
continue;
}

    long long minn = r - l + 1;
    while (r <= n)
    {
        if (sum >= s)
        {
            if (minn > r - l + 1)
                minn = r - l + 1;
            sum -= a[l];
            l++;
        }
        while (sum < s && r <= n)
        {
            r++;
            sum += a[r];
        }
    }
    cout << minn << endl;
}
return 0;

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务