Advertisement
DarkTXYZ

SMMR-166: Subsegment Sum

May 5th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.49 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n,S;
  6. int row[100005];
  7.  
  8. int main(){
  9.     scanf("%d%d",&n,&S);
  10.     for(int i=1;i<=n;i++)
  11.         scanf("%d",&row[i]);
  12.     int l,r;
  13.     l = r = 1;
  14.     int sum = row[1];
  15.     int ans = -1;
  16.     while(r <= n){
  17.         if(sum >= S){
  18.             if(ans == -1)
  19.                 ans = r-l+1;
  20.             else
  21.                 ans = min(ans,r-l+1);
  22.             if(l!=r){
  23.                 sum -= row[l];
  24.                 l++;
  25.             }
  26.             else{
  27.                 r++;
  28.                 sum += row[r];
  29.             }
  30.         }
  31.         else{
  32.             r++;
  33.             sum += row[r];
  34.         }
  35.     }
  36.     printf("%d",ans);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement