Submission #1188247

#TimeUsernameProblemLanguageResultExecution timeMemory
1188247ByeWorldRarest Insects (IOI22_insects)C++20
47.50 / 100
63 ms452 KiB
#include "insects.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define fi first #define se second #define lf ((id<<1)) #define rg ((id<<1)|1) #define md ((l+r)>>1) using namespace std; const int MAXN = 3e5+10; const ll MOD = 1e9+2022; ll sum(ll a, ll b){ return (a+b)%MOD;} void chsum(ll &a, ll b){ a = (a+b)%MOD;} ll mul(ll a, ll b){ return (a*b)%MOD; } void chmul(ll &a, ll b){ a = (a*b)%MOD;} void chmn(auto &a, auto b){ a = min(a, b); } void chmx(auto &a, auto b){ a = max(a, b); } int n, ANS; bool ty[MAXN]; vector <int> all, dif; bool le = 1; bool cek(int x){ vector<int>vec; for(int i=0; i<n; i++){ // kalo ke kiri ambil all move_inside(i); if(press_button() == x+1){ move_outside(i); } else vec.pb(i); // vec < all } for(auto in : vec) move_outside(in); if(dif.size() * x == vec.size()) return 1; // waduh tot * x return 0; } int min_cardinality(int N) { n = N; ANS = n; for(int i=0; i<n; i++){ move_inside(i); if(press_button() == 1){ dif.pb(i); } else move_outside(i); } for(auto in : dif) move_outside(in); for(int i=0; i<n; i++) all.pb(i); int l=1, r=n, mid=0, cnt=-1; while(l<=r){ mid = (l+r)>>1; if(cek(mid)){ le = 0; cnt = mid, l = mid+1; } else { le = 1; r = mid-1; } } return cnt; // for(int i=0; i<n; i++) vec.pb(i); // while(!vec.empty()){ // for(auto in : vec) move_inside(in); // int mx = press_button(); // chmn(ANS, mx); // for(auto in : vec) move_outside(in); // for(int i=0; i<n; i++) ty[i] = 0; // vector<int> idx; // for(auto in : vec){ // if(ty[in]) continue; // move_outside(in); // } // for(auto in : idx) move_inside(in); // penting aj // for(auto in : vec){ // if(ty[in]) continue; // move_inside(in); // if(press_button() == 2) ty[in] = 1; // max // move_outside(in); // } // vector<int> vec2; // for(auto in : vec){ // if(ty[in]) continue; // vec2.pb(in); // } // swap(vec, vec2); // } // return ANS; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...