{"trustable":false,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n #problem-body \u003e pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n","sections":[{"title":"题目描述","value":{"format":"MD","content":"给定一棵树,有 $N \\ (N \\le 100000)$ 个节点,每一个节点都有一个权值 $x_i \\ (|x_i| \\le 10000)$。\n\n你需要执行 $Q \\ (Q \\le 100000)$ 次操作:\n\n1. `1 a b` 查询 $(a,b)$ 这条链上的最大子段和,可以为空(即输出$0$)\n2. `2 a b c` 将 $(a,b)$ 这条链上的所有点权变为 $c$ $(|c| \\le 10000)$。"}},{"title":"输入格式","value":{"format":"MD","content":"第一行一个整数 $N$\n\n接下来一行有 $N$ 个整数表示 $x_i$。\n\n接下来 $N-1$ 行,每行两个整数 $u,v$ 表示 $u$ 和 $v$ 之间有一条边相连。\n\n接下来一行一个整数 $Q$。\n\n之后有 $Q$ 行,每行诸如 `1 a b` 或者 `2 a b c`。"}},{"title":"输出格式","value":{"format":"MD","content":"对于每一个询问,输出答案。"}},{"title":"样例输入","value":{"format":"MD","content":"``` plain\n5\n-3 -2 1 2 3\n1 2\n2 3\n1 4\n4 5\n3\n1 2 5\n2 3 4 2\n1 2 5\n```"}},{"title":"样例输出","value":{"format":"MD","content":"``` plain\n5\n9\n```"}}]}