답안 #1034788

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1034788 2024-07-25T18:18:36 Z Mr_Husanboy 드문 곤충 (IOI22_insects) C++17
0 / 100
116 ms 676 KB
#include "insects.h"
#include <bits/stdc++.h>

using namespace std;

#define ff first
#define ss second
#define all(a) (a).begin(), (a).end()
#define ll long long
const int mod = 1000002022;

vector<int> state, p;
int n, m; 
vector<vector<int>> g;
template<typename T>
int len(T &a){return a.size();}

mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

void shuffle(vector<int> &a, int n){
  if(n == 1) return;
  random_shuffle(a.begin(), a.begin() + n);
  for(int i = 0; i < n; i ++){
    int aa = rng() % n, bb = rng() % n;
    while(bb == aa) bb = rng() % n;
    swap(a[aa], a[bb]);
  }
}


int min_cardinality(int n) {

  vector<int> v;
  vector<int> done(n);
  for(int i = 0; i < n; i ++){
    move_inside(i);
    if(press_button() == 2){
      move_outside(i);
    }else v.push_back(i), done[i] = 1;
  }
  if(len(v) == 1) return n;
  int l = 1, r = n / len(v) + 1;

  auto check = [&](int m)->bool{
    vector<int> rem;
    for(int i = 0; i < n; i ++){
      if(done[i]) continue;
      move_inside(i);
      if(press_button() <= m){
        rem.push_back(i);
      }else{
        move_outside(i);
      }
    }
    
    return len(v) + len(rem) < len(v) * m;
  };

  while(r - l > 1){
    int m = (l + r) / 2;
    if(check(m)){
      r = m;
    }else l = m;
  }
  return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 2 ms 344 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 4 ms 436 KB Output is correct
9 Incorrect 5 ms 344 KB Wrong answer.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 2 ms 344 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 4 ms 436 KB Output is correct
9 Incorrect 5 ms 344 KB Wrong answer.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Partially correct 1 ms 344 KB Output is partially correct
7 Correct 8 ms 344 KB Output is correct
8 Correct 12 ms 344 KB Output is correct
9 Partially correct 76 ms 428 KB Output is partially correct
10 Partially correct 62 ms 676 KB Output is partially correct
11 Partially correct 116 ms 344 KB Output is partially correct
12 Correct 16 ms 344 KB Output is correct
13 Partially correct 103 ms 444 KB Output is partially correct
14 Partially correct 68 ms 600 KB Output is partially correct
15 Incorrect 100 ms 436 KB Wrong answer.
16 Halted 0 ms 0 KB -