#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld double
#define pb push_back
#define ff first
#define ss second
#define MOD 1000000007
#define INF 1000000019
#define POT (1<<20)
#define INFL 1000000000000000099
vector<pair<pair<ld,ld>,ld>>btl;
ld n,a,b,c,B,C;
ld eps=1e-15;
bool czy(pair<ld,ld>x,pair<ld,ld>y,pair<ld,ld>zero){
/// x.ff-=zero.ff;
// x.ss-=zero.ss;
// y.ff-=zero.ff;
// y.ss-=zero.ff;
return x.ff*y.ss>=x.ss*y.ff;
}
pair<ld,ld>on;
int main(){
cin>>a>>B>>C;
B/=a;
C/=a;
on={b,c};
cin>>n;
ll ak=1;
for(ll i=0;i<n;i++){
char ch;
cin>>ch;
if(ch=='A'){
cin>>a>>b>>c;
b/=a;
b-=B;
c/=a;
c-=C;
//cout<<b/c<<"\n";
btl.pb({{b,c},ak++});
}
else{
cin>>a;
for(ll j=0;j<btl.size();j++){
if(btl[j].ss==a){
btl.erase(btl.begin()+j);
break;
}
}
}
pair<ll,ll>lw=btl[0].ff,pw=btl[0].ff;
bool czy3=0,czy2=0,czy1=0;
vector<pair<ld,ll>>v;
for(auto j : btl){
v.pb({j.ff.ff/j.ff.ss,(j.ff.ff>0)});
if(j.ff.ff+eps>on.ff && j.ff.ss+eps>on.ss && on.ss+eps>j.ff.ss && on.ff+eps>j.ff.ff)czy1=1;
if(j==btl[0])continue;
if(czy(j.ff,lw,on)){
lw=j.ff;
if(czy(pw,j.ff,on))czy3=1;
}
if(czy(pw,j.ff,on))pw=j.ff;
}
sort(v.begin(),v.end());
for(ll j=1;j<v.size();j++){
if(v[j-1].ff+eps>v[j].ff && v[j].ff+eps>v[j-1].ff){
if(v[j-1].ss!=v[j].ss)czy2=1;
}
}
if(czy1)cout<<1;
else if(czy2)cout<<2;
else if(czy3)cout<<3;
else cout<<0;
cout<<"\n";
}
}
# | 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... |