Submission #335285

#TimeUsernameProblemLanguageResultExecution timeMemory
335285limabeansSegments (IZhO18_segments)C++17
7 / 100
5099 ms4588 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; int n,t; multiset<pair<int,int>> ms; int id; pair<int,int> a[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>t; int lastans=0; while (n--) { int op; cin>>op; if (op==1) { ++id; cin>>a[id].first>>a[id].second; ms.insert({a[id].first,a[id].second}); } else if (op==2) { int i; cin>>i; ms.erase(ms.find({a[i].first,a[i].second})); } else if (op==3) { int l,r,k; cin>>l>>r>>k; l=l^(t*lastans); r=r^(t*lastans); if (l>r) swap(l,r); int res=0; for (auto p: ms) { int x=max(l,p.first); int y=min(r,p.second); if (y-x+1>=k) res++; } cout<<res<<"\n"; lastans=res; } else assert(false); } return 0; }
#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...