import Control.Applicative
import Data.List

main :: IO ()
main = do
        [n,s] <- map read.words<$>getLine
        list <- map read.words<$>getLine
        printResult $ calcSmallestWindow list s

calcSmallestWindow :: [Int] -> Int -> Maybe Int
--calcSmallestWindow list n = minimum'.filter (/= 0).map (smallest n).tails $ list
--calcSmallestWindow list n = minimum'. foldr (f.smallest n) [].tails $ list
--    where f a b = if a /= 0 then a : b
--                            else b
calcSmallestWindow list n = foldr f' Nothing .tails $ list
    where filter0 a b = if a /= 0 then a:b else b
               f' a b  = case ((filter0.smallest n) a [], b) of
                        ([], Nothing) -> Nothing
                        ([a], Nothing) -> Just a
                        ([], Just x)   -> Just x
                        ([a], Just x)  -> Just (a `min` x)

smallest :: Int -> [Int] -> Int
smallest n list = small 0 0 n list

small acc len n []  = 0
small acc len n (x:xs)
    | acc+x < n = small (acc+x) (len+1) n xs
    | acc+x >= n = len+1

minimum' [] = Nothing
minimum' xs = Just $ minimum xs

printResult Nothing = print 0
printResult (Just n) = print n