# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1163714 | PieArmy | Divide and conquer (IZhO14_divide) | C++20 | 158 ms | 29368 KiB |
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define mid ((left+right)>>1)
const ll inf=ll(2e18)+5;
struct Seg{
int n;
vector<ll>tree,lazy;
void init(int N){
n=N;
tree.resize(n<<2,-inf);
lazy.resize(n<<2,0);
}
void push(int node,int left,int right){
if(lazy[node]==0)return;
tree[node]+=lazy[node];
if(left!=right){
lazy[node*2]+=lazy[node];
lazy[node*2+1]+=lazy[node];
}
lazy[node]=0;
}
int l,r;
ll x;
void up(int node=1,int left=0,int right=-1){
if(right==-1)right=n-1;
if(left>=l&&right<=r){
lazy[node]+=x;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |