专栏文章

题解:CF253B Physics Practical

CF253B题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miq7glfy
此快照首次捕获于
2025/12/04 00:12
3 个月前
此快照最后确认于
2025/12/04 00:12
3 个月前
查看原文

题目传送门

一眼二分,根据思考得出:我们只需要二分找到大于 2xx 的最小的数,又因为有序性,中间的区间就是符合要求的,其他的就要删去,这样我们就只需枚举 xx

AC Code

CPP
#include <bits/stdc++.h>
using namespace std;
int n, a[100005];
int ans = 0x7fffffff;
int main() {
	cin>>n;
	for (int i = 1; i <= n; i++) cin>>a[i];
	sort(a + 1, a + n + 1);
	for (int i = 1; i <= n; i++) {
		int* s = upper_bound(a + 1, a + n + 1, a[i] * 2);
		ans = min(ans, (int)(a + i - s + n));
	}
	cout<<ans;
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...