Submission #395511

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3955112021-04-28 12:18:21rama_pangSegments (IZhO18_segments)C++17
100 / 100
1963 ms10604 KiB
#include <bits/stdc++.h>
using namespace std;
const int BLOCK = 1800;
const int BSIZE = 200005 / BLOCK + 5;
class Solver {
public:
vector<pair<int, int>> pending;
vector<pair<int, int>> intervals;
vector<int> lengths[BSIZE]; // (r - l + 1)
pair<int, int> minmaxl[BSIZE]; // min and max l in blockslr[]
vector<pair<int, int>> blockslr[BSIZE]; // (l, r)
int Isect(int a, int b, int l, int r) {
return max(0, min(b, r) - max(a, l) + 1);
}
void Insert(int l, int r) {
pending.emplace_back(l, r);
if (pending.size() >= BLOCK) {
for (auto p : pending) intervals.emplace_back(p);
sort(begin(intervals), end(intervals));
pending.clear();
for (int i = 0; i < int(intervals.size()); i += BLOCK) {
int b = i / BLOCK;
lengths[b].clear();
blockslr[b].clear();
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...