제출 #682538

#제출 시각아이디문제언어결과실행 시간메모리
682538phoenixSegments (IZhO18_segments)C++17
23 / 100
5051 ms3688 KiB
#include<bits/stdc++.h> using namespace std; vector<bool> us; vector<pair<int, int>> v; int lastans; int main() { ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); us.push_back(0); v.push_back({0, 0}); int n, t; cin >> n >> t; for(int i = 1; i <= n; i++) { int type; cin >> type; if(type == 1) { int l, r; cin >> l >> r; l = (l ^ (t * lastans)); r = (r ^ (t * lastans)); if(l > r) swap(l, r); v.push_back({l, r}); us.push_back(1); } if(type == 2) { int id; cin >> id; us[id] = 0; } if(type == 3) { int l, r, k; cin >> l >> r >> k; l = (l ^ (t * lastans)); r = (r ^ (t * lastans)); if(l > r) swap(l, r); if(r - l + 1 < k) { cout << 0 << '\n'; continue; } lastans = 0; for(int i = 0; i < (int)v.size(); i++) { if(!us[i] || v[i].second - v[i].first + 1 < k) continue; lastans++; if(v[i].second < l + k - 1) lastans--; if(v[i].first > r - k + 1) lastans--; } cout << lastans << '\n'; } } }
#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...