class Solution {
public:
int minSubArrayLen(int s, vector<int>& nums) {
int left=0;
int right=0;
int sum=0;
int min_dis=INT_MAX;
int n=nums.size();
while(right<n)
{
do{
sum+=nums[right++];
}while(right<n&&sum<s);
while(left<right&&sum-nums[left]>=s)
{
sum-=nums[left++];
}
if(sum>=s)min_dis=min(min_dis,right-left);
}
return min_dis==INT_MAX?0:min_dis;
}
};