답안 #1024625

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1024625 2024-07-16T08:45:08 Z Issa 드문 곤충 (IOI22_insects) C++17
0 / 100
43 ms 856 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
pair<int, int> pii;

const int maxn = 1e5 + 100;

int n, d;
int used[maxn];
int f[maxn];
int mx[maxn];

void move_inside(int i);
void move_outside(int i);
int press_button();

void add(int i){
	used[i] = 1;
	move_inside(i);
}
void del(int i){
	used[i] = 0;
	move_outside(i);
}
void clear(){
	for(int i = 1; i <= n; i++){
		if(used[i]) del(i);
	}
}

int min_cardinality(int N){
	d = 0; n = N;
	for(int i = N - 1; i >= 0; i--){
		add(i); 
		if(press_button() == 1) f[i] = 1, d++;
		else del(i);
	} clear();
	int ans = n / d, x = 0;
	for(int l = 1, r = n / d - 1; l <= r;){
		int mid = (l + r) >> 1;
		if(x < mid){
			for(int i = 0; i < n; i++){
				if(used[i] || mx[i] > mid) continue;
				add(i);
				if(press_button() > mid){
					mx[i] = mid + 1;
					del(i);
				}
			}
		} else if(x > mid){
			for(int i = n - 1; i >= 0; i--){
				if(!used[i]) continue;
				if(press_button() <= mid) break;
				del(i);
			}
			for(int i = 0; i < n; i++){
				if(used[i] || mx[i] > mid) continue;
				add(i);
				if(press_button() > mid){
					mx[i] = mid + 1;
					del(i);
				}
			}
		}
		bool ok = 0;
		for(int i = 0; i < n; i++){
			if(used[i] && f[i]) ok = 1;
		}
		if(!ok) l = mid + 1;
		else r = mid - 1, ans = mid;
	}
	return ans;
}
# 결과 실행 시간 메모리 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 356 KB Output is correct
9 Incorrect 2 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 356 KB Output is correct
9 Incorrect 2 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 1 ms 344 KB Output is correct
4 Correct 1 ms 596 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 432 KB Output is correct
7 Correct 28 ms 344 KB Output is correct
8 Correct 14 ms 856 KB Output is correct
9 Partially correct 43 ms 440 KB Output is partially correct
10 Correct 22 ms 344 KB Output is correct
11 Correct 16 ms 688 KB Output is correct
12 Correct 20 ms 844 KB Output is correct
13 Incorrect 16 ms 440 KB Wrong answer.
14 Halted 0 ms 0 KB -