PTA1030完美数列二分法解决超时
#include"bits/stdc++.h"
using namespace std;
const int N=100010;
long long ans,n,p;
long long a[N];
int main()
{
cin>>n>>p;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)
{
long long l=i,r=n-1;
while(l<r)
{
long long mid=l+r+1>>1;
if(a[mid]<=a[i]*p ) l=mid;
else r=mid-1;
}
ans=max(ans,r-i+1);
}
cout<<ans;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署