아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

점핑 머신

시간 제한1초메모리 제한512 MB

요약
길이 l인 용수철 n개를 각각 한 번씩 임의 순서로 사용해 (0,0)에서 위나 오른쪽으로 이동할 때, 기계가 지나가거나 도달할 수 있는 모든 격자 칸의 수를 센다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 정수론, 동적 계획법
정답자
아직 제출이 없습니다

문제

젊은 발명가가 새로운 점핑 머신을 만들었다. 시험해 보기 위해 그는 머신을 시험장으로 가져갔다. 시험장은 무한한 정사각 격자이다.

처음에 머신은 (0,0)(0, 0) 칸에 있다. 머신에는 nn개의 스프링이 있고, ii번째 스프링의 힘은 lil_i이며 머신이 위로 lil_i칸 또는 오른쪽으로 lil_i칸 점프하도록 해 준다. 따라서 이 스프링으로 머신은 (x,y)(x, y) 칸에서 (x+li,y)(x + l_i, y) 칸 또는 (x,y+li)(x, y + l_i) 칸으로 갈 수 있다. 점프한 뒤 스프링은 튕겨 나가므로 다시 쓸 수 없다. 머신은 스프링을 임의의 순서로 사용할 수 있다.

시험을 하는 동안 머신이 날아가는 칸에는 머신 오일이 묻는다. 격자를 나중에 청소하지 않으려고, 발명가는 머신이 날아갈 가능성이 있는 모든 칸에 보호 매트를 깔기로 했다.

이제 발명가는 시험에 매트를 몇 장 가져가야 하는지 궁금해한다.

입력

첫째 줄에 머신이 가진 스프링의 수 nn이 주어진다 (1≤n≤1001 \le n \le 100). 둘째 줄에 nn개의 정수 lil_i가 주어진다. lil_i는 스프링의 힘이다 (li≥1l_i \ge 1; 1≤l1+l2+⋯+ln≤1061 \le l_1 + l_2 + \dots + l_n \le {10}^6).

출력

발명가가 가져가야 하는 매트의 수를 한 줄에 출력한다.

힌트

예제 시험에서 머신이 점프할 때 더러워질 수 있는 모든 칸은 아래 그림에서 주황색으로 칠해져 있다.

머신이 더럽힐 수 있는 칸.

예제1

  1. 예제 1

    입력
    2
    4 2
    
    예상 출력
    22