CF348C Subset Sums

题目描述

给定一个 $n$ 个数的序列 $a$ 与 $m$ 个下标集合,记为 $S_{k}=\{S_{k,i}\}$。 现有两种操作: 1. `? k`:求集合 $S_k$ 中所有下标对应的序列元素的和。 2. `+ k w`:令集合 $S_k$ 中所有下标对应的序列元素加上 $w$。 对于每个操作 1,输出结果。

输入格式

第一行三个整数 $n$,$m$ 和 $q$。 第二行 $n$ 个整数 $a_1,a_2,\dots,a_n$ 表示数组 $a$。 接下来 $m$ 行,每行描述了一个集合。第 $k$ 行首先包含一个正整数 $x$ 表示 $S_k$ 的大小,接下来 $x$ 个数表示 $S_k$ 中的元素。 接下来 $q$ 行,每行一个操作,形如 `? k` 或 `+ k w`,含义见题面。

输出格式

对于每个操作 1,输出结果。 注意:因为评测机的平台原因,请使用 `cin`,`cout` 或 `%I64d` 输入输出 64 位整数。

说明/提示

对于所有数据,$1\le n,m,q\le 10^5,\sum|S_k|\le 10^5,|a_i|\le 10^8$,对于所有操作,保证 $1\le k\le m,|x|\le 10^8$。