rt,蒟蒻刚学线段树半小时
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MAX = 1000000;
struct seg_tr{
int l,r;
int mx,sum;
int lazy;
}tr[MAX];
int a[MAX];
void bulid_tr(int id,int l,int r){
tr[id].l = l;
tr[id].r = r;
if(l == r){
tr[id].sum = a[l];
tr[id].mx = a[r];
}
int mid = (l + r) >> 1;
bulid_tr(id >> 1 + 1,l,r);
bulid_tr(id >> 1 + 2,mid + 1,r);
tr[id].sum = tr[id >> 1 + 1].sum + tr[id >> 1 + 2].sum;
tr[id].mx = max(tr[id >> 1 + 1].mx,tr[id * 2 + 2].mx);
}
signed main()
{
bulid_tr(1,1,500);
cout << "endd";
return 0;
}