This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define db double
using namespace std;
int n,t;
pair<int,int> a[200002];
int id=1;
int ans=0;
int intersection(int x1,int y1,int x2,int y2){
int f1=min(y1,y2);
int f2=max(x1,x2);
int f=f1-f2+1;
if(f<=0)
f=0;
return f;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n>>t;
while(n--){
int ind;
cin>>ind;
if(ind==1){
int x,y;
cin>>x>>y;
x=x^(t*ans);
y=y^(t*ans);
if(x>y)
swap(x,y);
a[id].ff=x;
a[id].ss=y;
id++;
}
if(ind==2){
int pos;
cin>>pos;
a[pos].ff=-1;
a[pos].ss=-1;
}
if(ind==3){
int x,y,f;
cin>>x>>y>>f;
x=x^(t*ans);
y=y^(t*ans);
ans=0;
if(x>y)
swap(x,y);
for(int k=1;k<=id;k++){
int z=intersection(a[k].ff,a[k].ss,x,y);
if(z>=f)
ans++;
}
cout<<ans<<"\n";
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |