답안 #859379

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
859379 2023-10-10T05:51:08 Z NatdanaiHS 드문 곤충 (IOI22_insects) C++17
0 / 100
1 ms 344 KB
#include "insects.h"
#include <bits/stdc++.h>
using namespace std;
//move_inside
//move_outside
//press_button
vector<bool> flag(2020,false);
int ans=1,snow=1,mxans=0;
int min_cardinality(int N) {
  flag[0]=true;
  move_inside(0);
  //Prime Set
  for(int i=1;i<N;i++){
    move_inside(i);
    if(press_button()!=1)move_outside(i);
    else snow++,flag[i]=true,mxans=N-i;
  }
  //find ans
  int l=1,r=min(mxans,N/snow);
  while(l<=r){
    int mid=(l+r)/2;
    stack<int> rollA,rollB;
    int cnt=0;
    for(int i=0;i<N;i++){
        if(cnt==(mid-ans)*snow)break;
        if(flag[i])continue;
        move_inside(i);
        // 
        if(press_button()>mid)move_outside(i),flag[i]=true,rollA.push(i);
        else{
            cnt++;
            rollB.push(i);
        }
    }
    if(cnt==(mid-ans)*snow){
        ans=mid;
        l=mid+1;
        while(rollA.size()){
            flag[rollA.top()]=!flag[rollA.top()];
            rollA.pop();
        }
        while(rollB.size()){
            flag[rollB.top()]=!flag[rollB.top()];
            rollB.pop();
        }
    }
    else{
        r=mid-1;
        while(rollB.size()){
            move_outside(rollB.top());
            rollB.pop();
        }
    }
  }
  return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong answer.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong answer.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Wrong answer.
3 Halted 0 ms 0 KB -