Submission #763261

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
7632612023-06-22 07:25:32MetalPowerTwo Currencies (JOI23_currencies)C++14
100 / 100
948 ms39484 KiB
#include <bits/stdc++.h>
using namespace std;
const int MX = 1e5 + 10;
#define ll long long
#define pii pair<int, int>
#define pli pair<ll, int>
#define fi first
#define se second
// parallel binser + hld
struct segtree{
pli st[MX << 1];
void build(){
for(int i = 0; i < (MX << 1); i++) st[i] = {0ll, 0};
}
void upd(int p, int v){
for(p += MX, st[p].fi += v, st[p].se += 1, p >>= 1; p > 0; p >>= 1){
st[p].fi = st[p << 1].fi + st[p << 1|1].fi;
st[p].se = st[p << 1].se + st[p << 1|1].se;
}
}
pli que(int l, int r){
pli res = {0, 0};
for(l += MX, r += MX + 1; l < r; l >>= 1, r >>= 1){
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

currencies.cpp: In constructor 'query::query(int, int, int, long long int, int, int, int)':
currencies.cpp:105:45: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
  105 |   s(s), t(t), x(x), y(y), l(l), r(r), mid(l + r >> 1), id(id) {}
      |                                           ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...