Submission #1118571

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11185712024-11-25 17:00:35SharkyFood Court (JOI21_foodcourt)C++17
100 / 100
554 ms60080 KiB
#include "bits/stdc++.h"
using namespace std;
#define int long long
const int N = 2.5e5 + 10;
vector<pair<int, int>> qry[N], ev[N]; // ev: index, cnt
int qc = 0, ans[N], grp[N];
struct Node {
int pmin = 0, sum = 0, add = 0;
} dummy;
struct SegTree {
int size = 1;
vector<Node> seg, lazy;
void init(int n) {
while (size < n) size *= 2;
seg.assign(2 * size + 10, dummy);
lazy.assign(2 * size + 10, dummy);
}
void push(int id) {
seg[id].pmin = min(seg[id].pmin, seg[id].sum + lazy[id].pmin);
seg[id].sum += lazy[id].sum;
seg[id].add += lazy[id].add;
if (id < size) for (int i = 0; i < 2; i++) {
lazy[id * 2 + i].pmin = min(lazy[id * 2 + i].pmin, lazy[id * 2 + i].sum + lazy[id].pmin);
lazy[id * 2 + i].sum += lazy[id].sum;
lazy[id * 2 + i].add += lazy[id].add;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...