# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1171651 | Hanksburger | Game (IOI13_game) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int n, cnt1, cnt2, mod=30013;
pair<int, int> combine(pair<int, int> x, pair<int, int> y)
{
if (x.first!=y.first)
return x.first>y.first?x:y;
return {x.first, (x.second+y.second)%mod};
}
struct node2
{
pair<int, int> val;
node2 *lc, *rc;
int l, r;
node2(int l, int r) : val({0, 0}), lc(0), rc(0), l(l), r(r) {}
};
struct node1
{
node1 *lc, *rc;
node2 *x;
node1() : lc(0), rc(0), x(0) {}
};
void update2(node2 *i, int y, pair<int, int> z)
{
if (i->l==i->r)
{
i->val=z;
return;
}
int mid=(i->l+i->r)/2;