쿠키 공장

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

요약
매일 시작일이 지난 회사에 쿠키 한 상자를 납품하거나 쉴 수 있을 때, 각 갱신 후 모든 수주를 끝낼 수 있는 가장 이른 날짜를 구한다.
난이도

어려움10점 중 8점

유형
그리디, 세그먼트 트리, 이분 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

유민이의 쿠키 공장에 NN개의 회사로부터 수주가 들어왔다. ii번째 회사에는 총 c_ic\_i박스의 쿠키를 공급해야 하며, s_is\_i일차부터 쿠키 납품을 시작할 수 있다.

공장에서는 xx일차에 다음 두 행동 중 하나를 선택한다.

  • s_i≤xs\_i\leq x를 만족하는 ii를 선택한 후, 11박스의 쿠키를 만들어서 ii번째 회사에 공급한다.
  • 쿠키고 뭐고 사내 리듬게임 대회나 개최한다.

쿠키를 미리 만들어서 다른 날에 공급할 수 없고, 만든 쿠키는 반드시 당일에 공급해야 함에 유의하라. 모든 회사에 쿠키 납품을 완료하기 위해 마지막으로 쿠키를 만드는 것은 최소 몇 일차가 되는지를 계산해 주자.

또한, 쿠키 산업은 워낙 한 치 앞도 내다볼 수 없기 때문에 QQ건의 수주 조건 수정 요청이 들어왔다. jj번째 수정 요청에서는 q_jq\_j번째 회사에 공급할 쿠키를 c′_jc'\_j박스로, 공급 시작 일차를 s′_js'\_j일차로 수정한다. 각 수정 요청은 이후의 수정 요청들을 처리할 때도 초기화되지 않고 영향을 미침에 유의하라. 시작 상태와 각 수정 요청 이후에 대해 문제를 해결해 보자.

입력

첫 번째 줄에 정수 NN이 주어진다.

다음 NN개의 줄 중 ii번째 줄에 두 개의 정수 c_ic\_i, s_is\_i가 공백으로 구분되어 주어진다.

다음 줄에 정수 QQ가 주어진다.

다음 QQ개의 줄 중 jj번째 줄에 세 개의 정수 q_jq\_j, c′_jc'\_j, s′_js'\_j가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 시작 상태에서의 문제의 정답을 출력한다.

다음 QQ개의 줄 중 jj번째 줄에 jj번째 수정 요청을 처리한 후의 문제의 정답을 출력한다.

제한

  • 1≤N,Q≤2×1051\leq N,Q\leq 2\times 10^5
  • 1≤q_j≤N1\leq q\_j\leq N
  • 1≤c_i,s_i,c′_j,s′_j≤1091\leq c\_i,s\_i,c'\_j,s'\_j\leq 10^9

힌트

수정 요청 전후의 상태가 같을 수도 있음에 유의하라. 즉, c′_j=c_q_j;c'\_j=c\_{q\_j}; s′_j=s_q_js'\_j=s\_{q\_j}일 수도 있다.

예제2

  1. 예제 1

    입력
    1
    1 1
    1
    1 2 1
    
    예상 출력
    1
    2
    
  2. 예제 2

    입력
    5
    3 1
    6 5
    6 2
    100 1
    3 4
    5
    4 2 1
    2 2 5
    3 4 2
    1 10 1
    5 2 4
    
    예상 출력
    118
    20
    16
    14
    21
    20