Submission #819349

#TimeUsernameProblemLanguageResultExecution timeMemory
819349andrei_boaca드문 곤충 (IOI22_insects)C++17
52.76 / 100
163 ms428 KiB
#include "insects.h" #include <bits/stdc++.h> //#include "stub.cpp" using namespace std; int cul[2005]; int n; vector<int> spec; struct date { int nod,l,r; }; vector<date> need; bool comp(date a, date b) { return a.l<b.l; } bool use[2005]; int f[2005]; int min_cardinality(int N) { n=N; cul[0]=1; spec.push_back(0); move_inside(0); int nr=1; for(int i=1;i<n;i++) { move_inside(i); int cnt=press_button(); if(cnt>=2) move_outside(i); else { nr++; cul[i]=nr; spec.push_back(i); } } int D=nr; int B=n/D; int loga=0; for(int i=0;i<20;i++) if((1<<i)<=B) loga=i; int I=0; int b=0; for(int i=loga;i>=0;i--) { b+=(1<<i); vector<int> added; for(int j=0;j<n&&I<b*D;j++) if(!use[j]) { use[j]=1; I++; move_inside(j); added.push_back(j); if(press_button()>b) { added.pop_back(); move_outside(j); use[j]=0; I--; } } if(I<b*D) { b-=(1<<i); for(int j:added) { use[j]=0; move_outside(j); I--; } } } return b; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...