#766
Unrated
우유 양동이
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

민재는 NN (1N21051 \le N \le 2 \cdot 10^5)개의 양동이가 수직으로 쌓여 있는 장치를 만들었다. 위에서부터 ii번째에 있는 양동이의 용량은 aia_i 리터이다 (1ai1091 \le a_i \le 10^9). 가장 위에 있는 양동이 위에는 수도꼭지가 있어, 매초 11리터의 우유를 첫 번째 양동이에 흘려보낸다. 또한, 가장 아래에 있는 NN번 양동이 밑에는 커다란 수조가 하나 있다.

어떤 양동이가 우유로 가득 차는 시점을 tt초라고 하면, t+1t+1초가 시작될 때 이 양동이는 뒤집혀서 그 안에 든 우유를 모두 쏟아낸다. 만약 이 양동이가 마지막 양동이가 아니라면 아래에 있는 양동이로 우유를 쏟으며, 마지막 양동이라면 수조로 우유를 쏟는다. 양동이는 t+1t+1초가 끝날 때 다시 원래대로 돌아와 비어 있는 상태로 다시 채워지기 시작한다.

양동이가 뒤집혀 있는 동안에는 우유를 받을 수 없다. 즉, 이 11초 동안 위에서 내려오는 모든 우유는 손실된다. 또한, 양동이에서 아래 양동이로 쏟아지는 우유의 양이 아래 양동이의 용량을 초과하는 경우, 그 초과분은 모두 손실된다.

민재는 다음의 쿼리 QQ (1Q31051 \le Q \le 3 \cdot 10^5)개를 처리하려고 한다. 각 쿼리는 세 정수 i,v,ti, v, t로 주어진다.

먼저, ai=va_i = v (1iN,1v1091 \le i \le N, 1 \le v \le 10^9)로 변경한다. 그 다음, 시각 00에 모든 양동이와 수조가 비어 있었다고 가정할 때, tt초 (1t10181 \le t \le 10^{18})가 지난 후 수조에 담긴 우유의 총량을 구한다.

ai=va_i = v로 변경된 값은 이후의 쿼리에서도 계속 유지된다.

입력

첫째 줄에 NN이 주어진다.

둘째 줄에 a1,a2,,aNa_1, a_2, \dots, a_N이 공백으로 구분되어 주어진다.

셋째 줄에 QQ가 주어진다.

다음 QQ개의 줄에는 각 쿼리를 나타내는 세 정수 i,v,ti, v, t가 주어진다.

출력

각 쿼리에 대한 답을 한 줄에 하나씩 출력한다.

예제 입력 1

3
1 1 1
30
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
1 2 1
1 2 2
1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 2 10
2 2 1
2 2 2
2 2 3
2 2 4
2 2 5
2 2 6
2 2 7
2 2 8
2 2 9
2 2 10

예제 출력 1

0
0
0
1
1
2
2
3
3
4
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2

예제 입력 2

2
1 2
10
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10

예제 출력 2

0
0
0
0
2
2
2
2
4
4

예제 입력 3

3
1 1 1
1
1 1 1000000000000000000

예제 출력 3

499999999999999999

제한

  • 테스트 케이스 4-5: N10,Q100N \le 10, Q \le 100, 모든 t104t \le 10^4
  • 테스트 케이스 6-11: N103,Q104N \le 10^3, Q \le 10^4
  • 테스트 케이스 12-23: 추가적인 제한 사항이 없다.
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.