Submission #314232

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3142322020-10-19 07:35:07tigichaInterval Collection (CCO20_day2problem2)C++14
25 / 25
4341 ms285120 KiB
#include<bits/stdc++.h>
using namespace std;
long long a, b, t, tree[4000035], tree1[4000035], tree2[4000035];
multiset <long long> st1, st2, s1[1000005], s2[1000005];
char c;
void update(long long p, long long l, long long r, long long k, bool x){
if(k<l || r<k) return;
if(l==r){
if(x==1){
if(s2[k].empty()) tree2[p]=1e9;
else tree2[p]=*s2[k].begin();
}
else{
if(s1[k].empty()) tree1[p]=-1e9;
else tree1[p]=*s1[k].rbegin();
}
tree[p]=tree2[p]-tree1[p];
return;
}
update(2*p, l, (l+r)/2, k, x);
update(2*p+1, (l+r+1)/2, r, k, x);
tree[p]=min(min(tree[2*p], tree[2*p+1]), tree2[2*p+1]-tree1[2*p]);
tree1[p]=max(tree1[2*p], tree1[2*p+1]);
tree2[p]=min(tree2[2*p], tree2[2*p+1]);
}
int main(){
std::ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
for (long long i=1; i<=4000020; i++){
tree[i]=2*1e9;
tree1[i]=-1e9;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...