Submission #1181996

#TimeUsernameProblemLanguageResultExecution timeMemory
1181996asli_bgToxic Gene (NOI23_toxic)C++20
0 / 100
0 ms324 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(n+1); vi v,vec; int t=0; FORE(i,1,n){ v.pb(i); v.pb(i+1); int deg=query_sample(v); if(deg==1){ v.pop_back(); deg=query_sample(v); if(deg==0){ t=i; ans[i]='T'; ans[i+1]='S'; } else{ t=i+1; ans[i]='S'; ans[i+1]='T'; } } else if(deg==2){ vec.pb(i); } else{ v.pop_back(); deg=query_sample(v); if(deg==1){ ans[i]='R'; ans[i+1]='T'; } else{ ans[i]='T'; t=i; v.pop_back(); v.pb(i+1); deg=query_sample(v); if(deg==0){ t=i+1; ans[i+1]='T'; } else{ ans[i+1]='R'; } } } v.clear(); } for(auto el:vec){ v.pb(t); v.pb(el); v.pb(el+1); int deg=query_sample(v); if(deg==0){ //regular ans[el]='R'; ans[el+1]='R'; } else if(deg==2){ ans[el]='S'; ans[el+1]='S'; } else{ v.clear(); v.pb(el); v.pb(t); deg=query_sample(v); if(deg==1){ ans[el]='S'; ans[el+1]='R'; } else{ ans[el]='R'; ans[el+1]='S'; } } v.clear(); } FORE(i,1,n+1){ answer_type(i,ans[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...