| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 852318 | fadi57 | Rarest Insects (IOI22_insects) | C++17 | 1 ms | 344 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
    #include<bits/stdc++.h>
    #include "insects.h"
    using namespace std;
    int n;
    const int mx=2e7+10;
    map<int,int>in;
    long long dp[mx];
    int sz=0; int d=0;
    bool check(int x){
    for(int i=0;i<n;i++){
        if(!in[i]){
            move_inside(i);
            int z=press_button();
            if(z>x){
                move_outside(i);
            }else{
                in[i]=1;
                sz++;
                
                }
        }
    }
     int z=press_button();
      for(int i=0;i<n;i++){
        if(in[i]){
          
           move_outside(i);
            in[i]=0;
        }
    }
     if(sz==d*x){return 1;}else{return 0;}
    
    }
 int min_cardinality(int N){
     int arr[N+1];n=N;
     for(int i=0;i<N;i++){
        arr[i]=-1;
     }
   
    
    for(int i=0;i<N;i++){
        move_inside(i);
        in[i]=1;
        d++;
        int z=  press_button();
         if(z>1){
               move_outside(i);
                 in[i]=0;d--;
         }else{sz++;}
       
    }
    int l=1;int r=N;
    int ans=0;
    while(l<=r){
        int mid=(l+r)/2;
        sz=0;
        if(check(mid)){
            l=mid+1;
            ans=l;
        }else{
         r=mid-1;
        }
        
        
        
    }
 return ans;
 }
 /*
int main(){
cout<<min_cardinality(9);
}*/
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
