소개
비어 있지 않은 정수 목록 L 을 고려하십시오 . 제로섬 슬라이스 의 L은 의 연속 시퀀스이다 L 합이 예컨대 0과 동일, [-2, 2, 1] 의 제로 합 슬라이스 인 [-2, 4, 1, -3, 2, 2 , -1, -1] 이지만 [2, 2] 는 0이 아니기 때문에 아니고 [4, -3, -1]도 아니고 (연속적이지 않기 때문에)도 아닙니다.
제로 합 조각 모음 L은 A는 제로 합 커버 의 L 모든 요소가 조각들 중 적어도 하나에 속하는 경우. 예를 들면 다음과 같습니다.
L = [-2, 4, 1, -3, 2, 2, -1, -1]
A = [-2, 4, 1, -3]
B = [1, -3, 2]
C = [2, -1, -1]
3 개의 제로섬 슬라이스 A , B 및 C 는 L의 제로섬 커버를 형성한다 . 동일한 슬라이스의 여러 복사본이 다음과 같이 제로섬 커버에 나타날 수 있습니다.
L = [2, -1, -1, -1, 2, -1, -1]
A = [2, -1, -1]
B = [-1, -1, 2]
C = [2, -1, -1]
물론 모든 목록에 제로섬 커버가있는 것은 아닙니다. 일부 예는 [2, -1] (모든 슬라이스에 0이 아닌 합계가 있음) 및 [2, 2, -1, -1, 0, 1] (가장 왼쪽에있는 2 는 0 합계 슬라이스의 일부가 아님)입니다.
작업
입력 값은 비어 있지 않은 정수 목록 L 입니다. 합리적인 형식으로 가져옵니다. 경우 출력은 truthy 값이어야한다 L이 제로 합 커버를 갖고, falsy 값 아니라면.
전체 프로그램이나 함수를 작성할 수 있으며 가장 낮은 바이트 수가 이깁니다.
테스트 사례
[-1] -> False
[2,-1] -> False
[2,2,-1,-1,0,1] -> False
[2,-2,1,2,-2,-2,4] -> False
[3,-5,-2,0,-3,-2,-1,-2,0,-2] -> False
[-2,6,3,-3,-3,-3,1,2,2,-2,-5,1] -> False
[5,-8,2,-1,-7,-4,4,1,-8,2,-1,-3,-3,-3,5,1] -> False
[-8,-8,4,1,3,10,9,-11,4,4,10,-2,-3,4,-10,-3,-5,0,6,9,7,-5,-3,-3] -> False
[10,8,6,-4,-2,-10,1,1,-5,-11,-3,4,11,6,-3,-4,-3,-9,-11,-12,-4,7,-10,-4] -> False
[0] -> True
[4,-2,-2] -> True
[2,2,-3,1,-2,3,1] -> True
[5,-3,-1,-2,1,5,-4] -> True
[2,-1,-1,-1,2,-1,-1] -> True
[-2,4,1,-3,2,2,-1,-1] -> True
[-4,-1,-1,6,3,6,-5,1,-5,-4,5,3] -> True
[-11,8,-2,-6,2,-12,5,3,-7,4,-7,7,12,-1,-1,6,-7,-4,-5,-12,9,5,6,-3] -> True
[4,-9,12,12,-11,-11,9,-4,8,5,-10,-6,2,-9,10,-11,-9,-2,8,4,-11,7,12,-5] -> True
[2,2,-1,-1,0,1] -> False
모두 슬라이스 [2,-1,-1]
하고 [-1,0,1]
0에 추가하고 모든 요소가 원래 목록에 있기 때문에 진실하지 않아야 합니까?