Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <algorithm>#include <cmath>#include <vector>using namespace std;#define LL long long#define inf 0x3f3f3f3f#define mnx 100020#define mxe 2020#define eps 1e-5#define ls (i << 1)#define rs (ls | 1)#define md ((ll + rr) >> 1)int sum[mnx << 2], add[mnx << 2];int a[mnx];int n;void build(int ll, int rr, int i) {add[i] = -1;if(ll == rr) {sum[i] = a[ll];return;}build(ll, md, ls), build(md + 1, rr, rs);sum[i] = sum[ls] + sum[rs];