문제
N개의 정수 수열
수열을 각각이 연속된 네 부분으로 나누려고 한다.
단, 각 부분은 최소 하나의 수를 포함해야 한다.
또, 각 부분의 합은 모두 같아야 한다.
즉, 어떤
예를 들어 주어진 수열이
이 수열을 아래와 같이 나누면 각 부분의 합이 달라서 허용되는 형태가 아니다.
아래와 같이 나눈 경우 각 부분의 합이 모두 같다.
아래와 같이 나눈 경우들도 각 부분의 합이 모두 같다.
수열을 입력 받아 위와 같이 나눌 수 있는 가능한 방법의 개수를 계산하는 프로그램을 작성하라.
입력
첫 번째 줄에 수열의 길이
두 번째 줄에 N개의 정수
[제약 조건]
*
* 모든
출력
첫 번째 줄에 가능한 방법의 개수를 출력한다.
출력 값이 매우 클 수 있으므로 C, C++언어에서는 long long 형의 변수를, Java에서는 long형의 변수를 사용해야 한다.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 5점 | 모든 |
#2 | 7점 | 모든 |
#3 | 4점 | 모든 1 |
#4 | 11점 | |
#5 | 19점 | |
#6 | 23점 | |
#7 | 31점 | 추가 제약 조건 없음 |
예제1
4
1 1 1 1
1
예제2
10
4 -1 2 1 -3 1 2 2 1 3
3