Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>using namespace std;struct node{node *leftChild, *rightChild;int l, r;int set;int add;int sum;};node *leaf[100005], *root;node* buildTree(int l, int r){node *n = new node;n->l = l;n->r = r;n->set = -1;n->add = 0;if(l == r){leaf[l] = n;}else{n->leftChild = buildTree(l, (l+r)/2);n->rightChild = buildTree((l+r)/2 + 1, r);}return n;}