Submission #827965

#TimeUsernameProblemLanguageResultExecution timeMemory
827965arnold518Rarest Insects (IOI22_insects)C++17
54.01 / 100
152 ms412 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 2000; int A[MAXN+10]; int min_cardinality(int N) { for(int i=0; i<N; i++) { move_inside(i); A[i]=1; if(press_button()>1) { move_outside(i); A[i]=0; } } int cnt=0; for(int i=0; i<N; i++) cnt+=A[i]; for(int i=0; i<N; i++) if(A[i]) move_outside(i); if(cnt==1) return N; if(cnt==2) { for(int i=0; i<N; i++) move_inside(i); return N-press_button(); } int lo=1, hi=N/cnt+1; while(lo+1<hi) { int mid=lo+hi>>1, t=0; for(int i=0; i<N; i++) { move_inside(i); A[i]=1; t++; if(press_button()>mid) { move_outside(i); A[i]=0; t--; } if(t==mid*cnt) break; } for(int i=0; i<N; i++) if(A[i]) move_outside(i), A[i]=0; //printf("%d : %d\n", mid, t); if(t==mid*cnt) lo=mid; else hi=mid; } return lo; }

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:36:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   36 |   int mid=lo+hi>>1, t=0;
      |           ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...