我有 N 个整数 Ai 定义为 A1, A2, ..., AN。我必须处理表格 a 的 Q 查询。对于每个这样的查询,找到一个索引 i 使得 Ai ≥ a。我必须尽量减少 Ai-a 的差异。我已经做到了
while(q--)
{
cin>>a;
mini=INT_MAX;
index=-1;
for(int i=0;i<n;i++)
{
diff1=A[i]-a;
if(diff1>=0)
{
ll sum=diff1;
if(sum<mini)
{
mini=sum;
index=i+1;
}
if(mini==0)
break;
}
}
cout<<index;
}
但这会导致 TLE 。有效的方法是什么?