0

A1、A2、...、AN として定義された N 個の整数 Ai があります。フォーム a の Q クエリを処理する必要があります。このようなクエリごとに、Ai ≥ a となるインデックス i を見つけます。そして、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 につながります。それを行うための効率的な方法は何ですか?

4

1 に答える 1