# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
788599 | Ahmed57 | Cake 3 (JOI19_cake3) | C++17 | 1281 ms | 21632 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<long long> pref;
long long cl = 0 ,cr = -1 , sz;
struct node{
long long cnt = 0 , sum =0;
node():cnt(0),sum(0){};
}seg[800001];
void build(int p,int l,int r){
if(l==r){
seg[p].cnt = 0;seg[p].sum = 0;
return ;
}
int md = (l+r)/2;
build(p*2,l,md);build(p*2+1,md+1,r);
seg[p].cnt = seg[p*2].cnt+seg[p*2+1].cnt;
seg[p].sum = seg[p*2].sum+seg[p*2+1].sum;
}
void update(int p,int l,int r,int idx,long long val){
if(l==r){
seg[p].cnt+=val;
seg[p].sum+=val*pref[l-1];
return ;
}
int md = (l+r)/2;
if(idx<=md)update(p*2,l,md,idx,val);
else update(p*2+1,md+1,r,idx,val);
seg[p].cnt = seg[p*2].cnt+seg[p*2+1].cnt;
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |