Submission #1058126

#TimeUsernameProblemLanguageResultExecution timeMemory
1058126Dan4LifeRarest Insects (IOI22_insects)C++17
50.67 / 100
94 ms852 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define sz(a) (int)a.size() #define all(a) begin(a), end(a) using vi = vector<int>; int D, inside[3000]; int min_cardinality(int n) { for(int i = 0; i < n; i++){ move_inside(i); if(press_button()>1) move_outside(i); else inside[i]=1, D++; } if(D==1) return n; int l = 1, r = n/D, p=1, tot=D; while(l<r){ int mid = (l+r+1)/2; vi undo; undo.clear(); for(int i = 0; i < n; i++) if(inside[i] > mid and mid<p) move_outside(i), inside[i]=0, tot--; for(int i = 0; i < n; i++){ if(inside[i]) continue; move_inside(i); if(press_button()>mid) move_outside(i); else inside[i]=mid, tot++, undo.pb(i); } if(tot==D*mid) l = mid; else{ for(auto u : undo) move_outside(u); r=mid-1; } p=mid; } return l; }

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:25:13: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |             if(inside[i]) continue; move_inside(i);
      |             ^~
insects.cpp:25:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   25 |             if(inside[i]) continue; move_inside(i);
      |                                     ^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...