ABC E 求调
  • 板块学术版
  • 楼主DoubleQLzn
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/11 22:06
  • 上次更新2025/1/12 11:46:30
查看原帖
ABC E 求调
953149
DoubleQLzn楼主2025/1/11 22:06

二分 AC * 9

#include <bits/stdc++.h>
using namespace std;
int n,a[500005],f[500005];
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> n;
	for (int i = 1;i <= n;i++) cin >> a[i];
	int last = 1,s = 0;
	for (int i = 1;i <= n;i++)
	{
		if (!f[i])
		{
			int k = lower_bound(a + last,a + n + 1,a[i] * 2) - a;
			if (k >= last && k > i && k <= n)
			{
				f[k]++;
				s++;
				last++;
			}
			else break;
		}
	}
	cout << s;
	return 0;
}
2025/1/11 22:06
加载中...