# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
774328 | HossamHero7 | Two Currencies (JOI23_currencies) | C++14 | 840 ms | 193228 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;
typedef long long ll;
#define endl '\n'
int pt = 0;
pair<ll,ll> tree[3*6000000];
int lft[3*6000000];
int rt[3*6000000];
int P[100005][30];
int root[100005];
vector<int> dep(100005);
vector<ll> w[100005];
vector<pair<int,int>> adj[100005];
int P2[100005][30];
void update(int node,int prv,int l,int r,ll idx,ll val){
if(l == r) return tree[node] = make_pair(tree[prv].first+l*val,tree[prv].second+val),void();
int md = l + r >> 1;
if(idx<=md){
int tmp = lft[prv];
lft[node] = ++pt;
rt[node] = rt[prv];
update(lft[node],tmp,l,md,idx,val);
}
else {
int tmp = rt[prv];
rt[node] = ++pt;
lft[node] = lft[prv];
update(rt[node],tmp,md+1,r,idx,val);
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |