Submission #1262076

#TimeUsernameProblemLanguageResultExecution timeMemory
1262076user736482Mixture (BOI20_mixture)C++20
0 / 100
0 ms324 KiB

#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...