# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
88409 | Pajaraja | Jousting tournament (IOI12_tournament) | C++17 | 45 ms | 4392 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;
int seg[2][400028],bag[2][400028],segmax[400028],k[100007],s[100007],e[100007],p[100007],q[100007];
void relax(int ind,int k)
{
bag[k][2*ind]+=bag[k][ind];
bag[k][2*ind+1]+=bag[k][ind];
bag[k][ind]=0;
}
void upd(int l,int r,int lt,int rt,int val,int k,int ind)
{
if(l>=lt && r<=rt)
{
bag[k][ind]+=val;
return;
}
if(r<lt || l>rt) return;
int s=(l+r)/2;
upd(l,s,lt,rt,val,k,2*ind);
upd(s+1,r,lt,rt,val,k,2*ind+1);
}
int val(int l,int r,int poz,int k,int ind)
{
if(l==r) return bag[k][ind];
relax(ind,k);
int s=(l+r)/2;
if(poz<=s) return val(l,s,poz,k,2*ind);
return val(s+1,r,poz,k,2*ind+1);
}
int find(int l,int r,int lt,int rt,int ind)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |