Submission #1006292

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10062922024-06-23 16:57:05hmm789Flooding Wall (BOI24_wall)C++14
100 / 100
3383 ms248760 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define MOD 1000000007
#define HALF 500000004
#define INF 1000000000000000000
int p2[500005], ph[500005];
struct node {
int s, e, m, sum, mul[3];
node *l, *r;
node(int _s, int _e) {
s = _s, e = _e, m = (s+e)/2, sum = 0, mul[0] = mul[1] = mul[2] = 0;
if(s != e) {
l = new node(s, m);
r = new node(m+1, e);
}
}
void rmul(int x, int y, int val) {
if(x > y) return;
if(x <= s && e <= y) {
if(val == -1) mul[0]--;
else mul[val]++;
return;
} else if(x > m) r->rmul(x, y, val);
else if(y <= m) l->rmul(x, y, val);
else l->rmul(x, y, val), r->rmul(x, y, val);
sum = (l->get() + r->get()) % MOD;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...