답안 #988561

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
988561 2024-05-25T07:17:30 Z cnn008 드문 곤충 (IOI22_insects) C++17
0 / 100
35 ms 1960 KB
#include "bits/stdc++.h"
using namespace std;

#include "insects.h"

#ifdef N_N_C
#include "debug.h"
#else
#define cebug(...) "Arya"
#endif

#define ll long long

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r){
    assert(l<=r);
    return uniform_int_distribution<int> (l,r)(rng);
}

const int N=1e5+5;
const int mod=1e9+7;

int min_cardinality(int n){
	set <int> s;
	vector <int> nw;
	vector <int> p(n);
	iota(p.begin(),p.end(),0);
	shuffle(p.begin(),p.end(),rng);
	map <int,set<int>> mp;
	int cad;
	auto add = [&](int i) -> void{
		s.insert(i);
		move_inside(i);
	};
	auto del = [&](int i) -> void{
		s.erase(i);
		move_outside(i);
	};
	auto check = [&](int k) -> bool{
		nw.clear();
		auto op=*mp.lower_bound(k);
		for(auto i:op.second){
			if(s.find(p[i])!=s.end()) continue;
			add(p[i]);
			if(press_button()>k) del(p[i]);
			else nw.push_back(p[i]);
		}
		mp[k]=s;
		return (int)s.size()>=cad*k;
	};
	for(int i=0; i<n; i++){
		add(i);
		if(press_button()>1) del(i);
	}
	cad=(int)s.size();
	mp[1]=s;
	for(int i=0; i<n; i++) mp[n].insert(i);
	int l=2,r=n/cad,ans=1;
	while(l<=r){
		int mid=(l+r)/2;
		if(check(mid)){
			ans=mid;
			l=mid+1;
		}else{
			r=mid-1;
			for(auto i:nw) del(i);
		}
	}
	return ans;
}
/**  /\_/\
*   (= ._.)
*   / >💖 \>💕
**/

Compilation message

insects.cpp:71:9: warning: "/*" within comment [-Wcomment]
   71 | /**  /\_/\
      |
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 3 ms 600 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 3 ms 856 KB Output is correct
9 Incorrect 3 ms 856 KB Wrong answer.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 3 ms 600 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 3 ms 856 KB Output is correct
9 Incorrect 3 ms 856 KB Wrong answer.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 592 KB Output is correct
7 Correct 30 ms 1960 KB Output is correct
8 Correct 14 ms 1252 KB Output is correct
9 Correct 30 ms 1192 KB Output is correct
10 Partially correct 35 ms 1556 KB Output is partially correct
11 Correct 29 ms 1208 KB Output is correct
12 Correct 15 ms 1368 KB Output is correct
13 Incorrect 26 ms 888 KB Wrong answer.
14 Halted 0 ms 0 KB -