5교시: 과학

시간 제한5초메모리 제한1024 MB

요약
5000cm 중심을 기준으로 고정된 위치에 놓인 물체 부분집합 중 돌림힘이 평형을 이루는 경우의 수를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 수학, 비트 연산
정답자
아직 제출이 없습니다

문제

추가 시간 및 메모리가 없습니다. 이 점에 유의하시기 바랍니다.

짐비는 과학 시간에 여러 실험을 합니다. 오늘 짐비는 몇 가지 물체를 가지고, 길이가 정확히 10,00010\\,000cm인 자를 이용해 평형을 맞추려 합니다. 자의 왼쪽 끝은 00cm 지점, 자의 오른쪽 끝은 10,00010\\,000cm 지점입니다. 짐비는 자의 5,0005\\,000cm 지점을 중심점으로 삼아 양쪽에 물체들을 올려놓으려고 합니다. 목표는 자의 양쪽에 있는 물체들이 중심점에서 생성하는 돌림힘이 평형을 이루도록 하는 것입니다.

돌림힘은 자의 중심점을 기준으로 왼쪽과 오른쪽에 있는 물체들이 각각 자에 작용하는 힘을 의미합니다. 중심점의 왼쪽에 놓인 물체는 반시계 방향으로, 오른쪽에 놓인 물체는 시계방향으로 돌림힘을 생성합니다. 돌림힘의 크기는 물체의 무게와 중심점까지의 거리의 곱으로 정의됩니다.

각 물체를 배치할 수 있는 위치는 미리 정해져 있으며, 같은 위치에 여러 개의 물체를 놓을 수 없습니다. 또한 자에 하나 이상의 물체를 올려놓아야 합니다. 각 물체를 해당 위치에 놓을지 말지 선택하여, 생성되는 반시계 방향 돌림힘의 크기의 합과 시계방향 돌림힘의 크기의 합이 같아지도록 하는 배치 방법이 몇 가지인지 구하세요.

입력

첫 번째 줄에 물체의 개수를 나타내는 정수 NN이 주어집니다. (1≤N≤40)(1 \leq N \leq 40)

두 번째 줄에 물체의 무게를 나타내는 NN개의 정수 W_1,W_2,⋯ ,W_NW\_1, W\_2,\cdots, W\_N가 공백을 간격으로 주어집니다. (1≤W_i≤105)(1 \leq W\_i \leq 10^5)

세 번째 줄에 ii번째 물체를 올려놓을 수 있는 지점을 나타내는 NN개의 정수 P_1,P\_1, P_2,P\_2, ⋯ ,\cdots, P_NP\_N이 공백을 간격으로 주어집니다. 이는 ii번째 물체가 P_iP\_icm 지점에 놓이는 것을 의미합니다. 물체가 5,0005\\,000cm 지점에 놓이는 경우는 주어지지 않습니다. (0≤P_i≤10,000;(0 \leq P\_i \leq 10\\,000; P_i≠5,000)P\_i\ne5\\,000)

출력

문제에서 요구하는 값을 첫 번째 줄에 출력해 주세요.

예제3

  1. 예제 1

    입력
    3
    1 1 3
    3000 4000 6000
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3
    1 1 2
    2500 2500 7500
    
    예상 출력
    0
    
  3. 예제 3

    입력
    8
    1 1 1 1 1 1 1 1
    1000 2000 3000 4000 6000 7000 8000 9000
    
    예상 출력
    25