답안 #859287

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
859287 2023-10-10T03:23:02 Z MasterDobby 드문 곤충 (IOI22_insects) C++17
0 / 100
0 ms 344 KB
#include <bits/stdc++.h>
#include "insects.h"
#define all(a) a.begin(),a.end()
#define pii pair<int,int>

using namespace std;
using ll = long long;

int ch[2020];

int min_cardinality(int n){
    int cnt=1,mx=0;
    ch[0]=1;
    move_inside(0);
    for(int i=1;i<n;i++){
        move_inside(i);
        int num=press_button();
        if(num==1){
            ch[i]=1;
            cnt++;
            mx=n-i;
        }
        else{
            move_outside(i);
        }
    }
    if(cnt==1) return n;
    for(int i=1;i<=n;i++){
        if(ch[i]) continue;
        move_inside(i);
    }
    mx=min(mx,press_button());
    for(int i=1;i<=n;i++){
        if(ch[i]) continue;
        move_outside(i);
    }
    int l=1,r=min((int)n/cnt,mx),now=cnt;
    while(l<r){
        int mid=(l+r+1)/2;
        int cnt2=now;
        vector<int> nw;
        for(int j=0;j<n;j++){
            if(cnt2==mid*cnt) break;
            if(ch[j]) continue;
            nw.push_back(j);
            move_inside(j);
            int num=press_button();
            if(num<=mid){
                ch[j]=1;
                cnt2++;
            }
            else{
                move_outside(j);
            }
        }
        if(cnt2==mid*cnt) l=mid,now=cnt2;
        else{
            r=mid-1;
            for(auto x:nw) move_outside(x),ch[x]=0;
        }
    }
    return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Integer 2 violates the range [0, 1]
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Integer 2 violates the range [0, 1]
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Integer 6 violates the range [0, 5]
2 Halted 0 ms 0 KB -