1차원 애니팡

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

1차원 세계에는 1차원 애니팡이라는 게임이 존재한다. 1차원 세계에 사는 스피드 게이머 무지는 이 게임을 최대한 빠르게 클리어하고 싶다.

게임은 초기에 첫 번째 라운드의 정수 블록 NN개가 1차원 배열의 형태로 주어진다. 이 정수 블록들이 다음과 같은 상태이면 해당 라운드가 클리어 된다.

어떤 인접한 블록에 대해서도 부호가 같은 경우가 없다. 양수, 0, 음수는 서로 다른 부호를 갖는다.

1i<N1 \le i < Nii에 대해 A_i>0 ;&; A_i+1>0A\_{i} > 0  \\;\And\\;  A\_{i+1} > 0 이거나 A_i<0  ;&;A_i+1<0A\_{i} < 0  \\; \And \\;A\_{i+1} < 0 이거나 A_i=0 ;&; A_i+1=0A\_{i} = 0  \\;\And\\;  A\_{i+1} = 0인 경우가 없다.

무지가 블록에 대해서 할 수 있는 연산은 다음과 같다.  

  1. ii 번째 블록의 값 A_iA\_{i}1-1을 곱한다. 이 연산은 RR초가 소요된다.
  2. ii 번째 블록의 값 A_iA\_{i}를 1만큼 증가시키거나 감소시킨다. 이 연산은 CC초가 소요된다.

연산은 같은 블록에 대해서도 여러 번 수행할 수 있다.

T+1T+1 개의 라운드를 클리어해야 하며 두 번째 라운드부터는 각 라운드의 시작마다 이전 라운드의 초기 상태에서 KK 번째 블록의 값이 VV로 바뀐다. (이전 라운드의 클리어 상태가 아닌 초기 상태임에 유의하자)  

이때 각 라운드에 대해 클리어하기 위한 최소 시간을 구하자.

입력

입력의 첫 줄에 양의 정수 NN, RR, CC, TT 가 차례대로 주어진다. 각각 블록의 수, 1번 연산의 비용, 2번 연산의 비용, 블록의 값이 바뀌는 횟수를 나타낸다. (11 \le NN, RR, CC, TT 100,000\le 100,000)

두 번째 줄에 첫 번째 라운드의 NN개의 정수 블록을 나타내는 수열  A_1,...,A_NA\_{1}, ..., A\_{N}이 차례대로 주어진다. (10,000-10,000 \le A_iA\_{i} 10,000 \le 10,000)  

세 번째 줄부터 T+2T+2 줄까지 이전 라운드의 초기 상태에서 KK번째 블록의 값을 VV로 바꾸는 것을 의미하는 정수 K,VK, V 가 주어진다. (1K1 \le K N\le N, 10,000-10,000\le VV 10,000\le 10,000)

출력

각 줄마다 첫번째 라운드부터 T+1T+1 라운드까지의 클리어 최소 시간을 차례대로 출력하자.