만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

합동 훈련

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

요약
N개 부대의 버스 비용과 불만도 변화가 주어질 때, 인접한 병사의 불만도가 K 미만인 편성의 비용을 검사하고 최대 비용과 부대별 서로 다른 비용의 개수를 구합니다.
난이도

어려움10점 중 10점

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

문제

특별 훈련 기간을 맞아 총 NN개의 부대가 서로 협동하는 합동 훈련을 진행한다. 합동 훈련을 한 번 할 때마다 총 2N2N명의 병사를 선발한다. 각 부대에서 선발할 수 있는 병사의 수에는 제한이 없으며, 병사가 한 명도 참여하지 않는 부대도 있을 수 있다. 훈련에 참여하는 부대는 병사들을 훈련지로 수송하기 위해 버스를 대절하며, 부대 ii의 버스 대절 비용은 aia_i이다. 합동 훈련의 비용은 훈련에 참여하는 부대들의 버스 대절 비용을 모두 더한 값이다.

합동 훈련은 2N2N명의 병사가 일렬로 서서 진행한다. 훈련이 끝나면 인접하게 서 있던 병사 쌍마다 소속 부대 간 불만도가 11씩 증가한다. 단, 같은 부대끼리 인접해 있었다면 불만도는 증가하지 않는다. 지휘관은 인접한 병사들의 소속 부대 간 불만도가 KK 이상인 쌍이 있는 훈련 계획을 승인하지 않는다. 훈련이 시작되기 전에는 모든 부대 사이의 불만도가 00이다.

특별 훈련 기간 동안 지휘관은 다음 세 가지 사건에 대한 보고서를 작성해야 한다.

  1. 지휘관에게 2N2N명의 병사가 일렬로 나열된 순서대로 소속 부대를 적은 훈련 계획서가 보고된다. 인접한 병사들의 소속 부대 간 불만도가 KK 이상인 쌍이 하나라도 있으면 훈련 계획을 승인하지 않아야 하고, 그런 쌍이 없으면 훈련을 진행한 뒤 해당 훈련에 든 비용을 보고해야 한다.
  2. 두 부대 sis_i와 tit_i 사이에 다툼이 일어나, 두 부대 사이의 불만도가 xix_i만큼 증가한다. 어떤 경우에도 훈련을 진행할 수 있는 예산을 얻어내기 위해, 가능한 훈련 계획 중 최대 비용을 보고해야 한다.
  3. 물가 상승으로 부대 sis_i의 버스 대절 비용이 xix_i만큼 증가했다. 각 부대에 송금해야 하는 비용이 서로 다르면 행정 처리가 복잡해지므로, 부대 sis_i를 포함하는 합동 훈련 계획 중 서로 다른 비용 개수의 최댓값을 보고해야 한다.

이때 각 사건으로 인한 불만도 증가와 비용 증가는 모든 사건이 끝날 때까지 누적되어 유지된다.

입력

첫 번째 줄에 부대의 개수 NN과 서로 인접할 수 없는 최소 불만도 KK가 공백으로 구분되어 주어진다.

두 번째 줄에 각 부대의 버스 대절 비용 aia_i가 공백으로 구분되어 주어진다.

세 번째 줄에 사건이 일어난 횟수 QQ가 주어진다.

이후 QQ줄에 걸쳐 사건의 종류 qiq_i와 사건별 변수가 주어진다.

  • qi=1q_i=1이면, 병사들의 소속 부대 번호 bib_i가 일렬로 나열된 순서대로 공백으로 구분되어 주어진다.
  • qi=2q_i=2이면, 다툼이 일어난 두 부대 번호 sis_i, tit_i와 증가한 불만도 xix_i가 공백으로 구분되어 주어진다.
  • qi=3q_i=3이면, 버스 대절 비용이 증가한 부대 번호 sis_i와 증가한 비용 xix_i가 공백으로 구분되어 주어진다.

출력

ii번째 줄에 ii번째 사건에 대한 답을 출력한다.

  • qi=1q_i=1이면, 진행된 훈련의 총비용을 출력한다. 훈련이 승인되지 않았다면 -1을 출력한다.
  • qi=2q_i=2이면, 진행할 수 있는 훈련의 최대 비용을 출력한다.
  • qi=3q_i=3이면, 부대 sis_i를 포함하는 훈련 계획 중 훈련 참여 부대의 서로 다른 비용 개수의 최댓값을 출력한다.

제한

  • 1≤N≤100 0001 \leq N \leq 100\,000; 1≤K≤1091 \leq K \leq 10^9
  • 1≤ai≤1091 \leq a_i \leq 10^9
  • 1≤Q≤100 0001 \leq Q \leq 100\,000
  • 1≤qi≤31 \leq q_i \leq 3
  • 1≤bi,si,ti≤N1 \leq b_i, s_i, t_i \leq N
  • si≠tis_i \neq t_i
  • 1≤xi≤1091 \leq x_i \leq 10^9
  • 입력되는 모든 수의 개수는 500 000500\,000개를 넘지 않는다.

예제1

  1. 예제 1

    입력
    3 4
    1 2 4
    5
    1 2 1 1 3 3 1
    1 3 3 3 3 3 3
    2 1 3 8
    2 3 2 5
    3 1 1
    
    예상 출력
    7
    4
    7
    4
    1