제출 #706331

#제출 시각아이디문제언어결과실행 시간메모리
706331danikoynov드문 곤충 (IOI22_insects)C++17
0 / 100
122 ms460 KiB
#include "insects.h"
#include<bits/stdc++.h>

using namespace std;
const int maxn = 2010;

int par[maxn], rnk[maxn];


int used[maxn], diff, n;

bool check(int x)
{
    int cnt = 0;
    vector < int > vec;
    for (int i = 0; i < n; i ++)
    {
        if (!used[i])
            continue;
        move_inside(i);
        vec.push_back(i);
        if (press_button() > x)
        {
            move_outside(i);
            vec.pop_back();
        }
        else
        {
            cnt ++;
        }
    }


    for (int v : vec)
        move_outside(v);
        if (cnt != x * diff)
        {
            for (int v : vec)
                used[v] = 0;
        }
    return cnt == x * diff;
}

int find_different(int N)
{
        int cnt = 0;
    vector < int > vec;
    for (int i = 0; i < n; i ++)
    {
        move_inside(i);
        vec.push_back(i);
        if (press_button() > 1)
        {
            move_outside(i);
            vec.pop_back();
        }
        else
        {
            cnt ++;
        }
    }

    for (int v : vec)
        move_outside(v);
    return cnt;
}
int min_cardinality(int N)
{
    n = N;
    diff = find_different(N);
    for (int i = 0; i < N; i ++)
        used[i] = 1;
    int lf = 0, rf = N;
    rf = N / diff;
    if (diff == 1)
        return N;
    while(lf <= rf)
    {
        int mf = (lf + rf) / 2;
        if (check(mf))
            lf = mf + 1;
        else
            rf = mf - 1;
    }
    return rf;
}

컴파일 시 표준 에러 (stderr) 메시지

insects.cpp: In function 'bool check(int)':
insects.cpp:34:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   34 |     for (int v : vec)
      |     ^~~
insects.cpp:36:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   36 |         if (cnt != x * diff)
      |         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...