이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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... |