static void Main() { //var st = new SegTree<int>(14, Math.Max); var st = new SegTree <int>(14, delegate(int x, int y) { return(x + y); }); st.Print(); st.Update(5, 3); st.Print(); st.Update(8, 4); st.Print(); st.Update(10, 2); st.Print(); Console.WriteLine(st.Query(3, 7)); }
static void Main() { var N = long.Parse(Console.ReadLine()); var A = Console.ReadLine().Split(' ').Select(long.Parse).ToList(); var E = new List <long> [N]; for (int i = 0; i < N; ++i) { E[i] = new List <long>(); } for (int i = 0; i < N - 1; ++i) { var uv = Console.ReadLine().Split(' ').Select(int.Parse).ToList(); int u = uv[0], v = uv[1]; E[u - 1].Add(v - 1); E[v - 1].Add(u - 1); } //var st = new SegTree<int>(14, Math.Max); var st = new SegTree <int>(14, delegate(int x, int y) { return(x + y); }); st.Print(); st.Update(5, 3); st.Print(); st.Update(8, 4); st.Print(); st.Update(10, 2); st.Print(); Console.WriteLine(st.Query(3, 7)); }