Submission #1181960

#TimeUsernameProblemLanguageResultExecution timeMemory
1181960asli_bgToxic Gene (NOI23_toxic)C++20
0 / 100
0 ms320 KiB
#include<bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;

//#define int long long

#include "toxic.h"

typedef pair<int,int> pii;
typedef vector<pii> vii;
typedef vector<int> vi;
typedef vector<bool> vb;

#define FOR(i,a) for(int i=0;i<(a);i++)
#define FORE(i,a,b) for(int i=(a);i<(b);i++)

#define all(x) x.begin(),x.end()
#define fi first
#define se second
#define pb push_back
#define sp <<" "<<

#define cont(x) for(auto el:x) cout<<el<<' ';cout<<endl;
#define contp(x) for(auto el:x) cout<<el.fi<<'-'<<el.se<<' ';cout<<endl;

#define DEBUG(x) cout<<#x sp x<<endl;
#define carp(x,y) ((x%MOD)*(y%MOD))%MOD
#define topla(x,y) ((x%MOD)+(y%MOD))%MOD
#define mid (l+r)/2

void determine_type(int n){

    vector<char> ans;

    vi v,vec;
    int t=0;
    FORE(i,1,n+1){
        v.pb(i);
        int deg=query_sample(v);
        if(deg==0){
            //toxic
            t=i;
            ans[i]='T';
        }
        else{
            vec.pb(i);
        }
        v.pop_back();
    }

    v.pb(t);
    for(auto el:vec){
        v.pb(el);
        int deg=query_sample(v);
        if(deg==0){
            //regular
            ans[el]='R';
        }
        else{
            ans[el]='S';
        }
        v.pop_back();
    }

    FORE(i,1,n+1){
        answer_type(i,ans[i]);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...