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

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

Power Link

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

요약
발전기의 출력이 갱신되는 상황에서, 한 가전에 연결된 발전기들의 모든 쌍별 곱의 합을 구하는 질의에 답한다.
난이도

어려움10점 중 8점

유형
수학, 구현, 완전 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

NN개의 발전기와 MM개의 가전제품이 있다. ii번째 발전기는 AiA_i의 전력을 생산한다. jj번째 가전제품은 발전기 집합 SjS_j에 연결되어 그들로부터 에너지를 공급받는다. SjS_j에 속한 발전기의 개수를 CjC_j라 하자.

각 가전제품이 얻는 에너지는 다음 식으로 계산된다.

∑1≤a≤b≤CjASj[a]⋅ASj[b]\displaystyle\sum_{1 \le a \le b \le C_j}{A_{S_{j}[a]} \cdot A_{S_{j}[b]}}

예를 들어 어떤 가전제품이 4개의 발전기로부터 에너지를 공급받고 각 발전기가 1010, 55, 2020, 55의 전력을 생산한다고 하자. 이 가전제품이 얻는 에너지는 10⋅5+10⋅20+10⋅5+5⋅20+5⋅5+20⋅5=50+200+50+100+25+100=52510\cdot 5+10\cdot 20+10\cdot 5+5\cdot 20+5\cdot 5+20\cdot 5 = 50 + 200 + 50 + 100 + 25 + 100 = 525이다.

앞으로 QQ일 동안 다음 두 연산 중 하나를 수행한다.

  1. ii번째 발전기가 생산하는 전력을 XX로 바꾼다.
  2. jj번째 가전제품이 얻는 에너지를 보고한다.

두 번째 종류의 연산마다 jj번째 가전제품이 얻는 에너지를 출력한다.

입력

입력의 첫 줄에는 두 정수 NN MM (1≤N,M≤100 0001 \le N, M \le 100\,000)이 주어진다. 이는 발전기의 개수와 가전제품의 개수이다. 다음 줄에는 NN개의 정수 AiA_i (1≤Ai≤10 0001 \le A_i \le 10\,000)가 주어진다. 이는 처음에 발전기가 생산하는 전력이다. 다음 MM개의 줄 각각은 jj번째 가전제품에 연결된 발전기의 개수 CjC_j (1≤Cj≤N1 \le C_j \le N)로 시작하고, 이어서 연결된 발전기 Sj[k]S_j[k] (1≤Sj[k]≤N1 \le S_j[k] \le N)를 나타내는 CjC_j개의 정수가 주어진다. 모든 jj에 대해 SjS_j의 발전기는 서로 다름이 보장된다. 모든 CjC_j의 합은 200 000200\,000을 넘지 않는다.

다음 줄에는 정수 QQ (1≤Q≤100 0001 \le Q \le 100\,000)가 주어진다. 이는 일수이다. 다음 QQ개의 줄 각각은 수행할 연산을 나타내는 다음 형식 중 하나로 주어진다.

  • 1 ii XX (1≤i≤N1 \le i \le N; 1≤X≤10 0001 \le X \le 10\,000)
    ii번째 발전기가 생산하는 전력을 XX로 바꾼다.
  • 2 jj (1≤j≤M1 \le j \le M)
    jj번째 가전제품이 얻는 에너지를 출력한다.

두 번째 종류의 연산은 적어도 하나 있다.

출력

두 번째 종류의 연산마다 입력 순서대로 jj번째 가전제품이 얻는 에너지를 나타내는 정수를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3 2
    1 2 3
    3 1 2 3
    2 1 3
    5
    2 1
    2 2
    1 2 10
    2 1
    2 2
    
    예상 출력
    11
    3
    43
    3