# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
748185 | snpmrnhlol | Cake 3 (JOI19_cake3) | C++17 | 1177 ms | 208720 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>
//#pragma GCC optimize("")
using namespace std;
typedef long long ll;
const ll N = 2e5,logN = 32,maxa = 2e9;
const ll inf64 = 1ll*1e9*1e9;
const ll inf32 = 2e9;
struct numbers{
ll v,c;
}v[N];
struct nod{
ll cnt = 0,sum = 0,l = 0,r = 0;
};
nod seg[logN*N];
ll root[N];
ll n,k;
ll cnt2 = 1;
void upd(ll old,ll cur,ll val,ll l = 1,ll r = maxa){
if(l == r){
seg[cur].sum = seg[old].sum + val;
seg[cur].cnt = seg[old].cnt + 1;
}else{
ll mij = (l + r)/2;
if(val <= mij){
seg[cur].r = seg[old].r;
seg[cur].l = cnt2++;
upd(seg[old].l,seg[cur].l,val,l,mij);
}else{
seg[cur].r = cnt2++;
seg[cur].l = seg[old].l;
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... |