翻了一圈没人和我写的一样,先按高度排序,那么某一个满足条件的高度的后续点一定满足,于是乎直接爆力,过是过了,但我感觉只是因为数据太水
for(int i=1;i<=n;i++){ while(q[tail].y-q[i].y<m&&tail<n) tail++; if(q[tail].y-q[i].y>=m) for(int j=tail;j<=n;j++) ans=min(ans,abs(q[j].x-q[i].x)); }