小小的AC

许诺  •  28天前


#include <iostream>
#include <vector>
#include <climits>

using namespace std;

int findMinSubsequenceLength(int N, int S, vector& nums) {

int left = 0;
int sum = 0;
int min_length = INT_MAX;

for (int right = 0; right < N; ++right) {
    sum += nums[right];
    while (sum >= S) {
        min_length = min(min_length, right - left + 1);
        sum -= nums[left];
        left++;
    }
}

return (min_length != INT_MAX) ? min_length : 0;

}

int main() {

int T;
cin >> T;
while (T--) {
    int N, S;
    cin >> N >> S;
    vector<int> nums(N);
    for (int i = 0; i < N; ++i) {
        cin >> nums[i];
    }
    cout << findMinSubsequenceLength(N, S, nums) << endl;
}
return 0;

}


评论:

请先登录,才能进行评论