#P1159. [数据结构]花神游历各国(bzoj3211)

[数据结构]花神游历各国(bzoj3211)

Description

花仔喜欢步行游历各国,花仔有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花仔对每个国家都有一个喜欢度(当然花仔并不一定喜欢所有国家),每一次旅行中,花仔会选择一条旅游路线,它在那一串国家中是连续的一段,这次旅行带来的开心值是这些国家的喜欢度的总和,当然花仔对这些国家的喜欢程序并不是恒定的,有时会突然对某些国家产生反感,使他对这些国家的喜欢度delta变为√​delta,也就是开根号。现在给出花仔每次的旅行路线,以及开心度的变化,请求出花仔每次旅行的开心值。

Input Format

第一行是一个整数 N,表示有 N 个国家。 第二行有 N 个空格隔开的整数,表示每个国家的初始喜欢度delta[i]。 第三行是一个整数 M,表示有 M 条信息要处理。 第四行到最后,每行3个整数 x,l,r(l≤r),当x=1 时,询问游历国家 l 到 r 的开心值总和,也就是 ∑i=l→r delta[i];当x=2时,修改国家 l 到 r 中每个国家的喜欢度,delta=√​delta​​​。 注:建议使用 sqrt 函数,且向下取整。

Output Format

每次 x=1 时,每行一个整数。表示这次旅行的开心度。

Sample

输入示例

4
1 100 5 5
5
1 1 2
2 1 2
1 1 2
2 2 3
1 1 4

输出示例

101
11
11

Hint

对于100%的数据,n≤10^5,m≤2×10^5,0≤delta[i]<10^9。