Submission #311816

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3118162020-10-11 19:54:31lukameladzeInterval Collection (CCO20_day2problem2)C++14
25 / 25
4239 ms286512 KiB
# include <bits/stdc++.h>
using namespace std;
# define mnri first.second
#define mxle first.first
pair <pair <long long, long long> , long long> tree[4000035];
long long x,l,r,le1,ri1,ans,q,mnr,mxl,mx=1000005;
char ch;
multiset<long long>::iterator it;
multiset< long long> le,ri,ms1[1000005],ms2[1000005];
void update(long long node, long long le, long long ri, long long idx, long long val, int ty)
{
if (le>idx || ri<idx) return;
if (le==ri)
{
if (ty==0)
{
tree[node].mnri=val;
}
else tree[node].mxle=val;
tree[node].second=tree[node].mnri-tree[node].mxle;
return;
}
long long mid=(le+ri)/2;
update(2*node,le,mid,idx,val, ty);
update(2*node+1, mid+1, ri, idx, val, ty);
tree[node].mnri=min(tree[2*node].mnri, tree[2*node+1].mnri);
tree[node].mxle=max(tree[2*node].mxle, tree[2*node+1].mxle);
x=min(tree[2*node].second, tree[2*node+1].second);
tree[node].second=min(x,tree[2*node+1].mnri-tree[2*node].mxle);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...