#include<bits/stdc++.h>
using namespace std;
long long a[100010],m,n;
int main(){
    scanf("%lld",&n);
    for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
    sort(a+1,a+n+1);
    scanf("%lld",&m);
    while(m--){
        long long a1,b1,a2,b2;
        scanf("%lld%lld%lld%lld",&a1,&b1,&a2,&b2);
        if(a1>a2){
            swap(a1,a2);
            swap(b1,b2);
        }
        if((b1>0&&b2>0)||(b1<0&&b2<0))
            printf("%lld\n",abs(a1-a2)+abs(b1-b2));
        else{
            int v=upper_bound(a+1,a+n+1,(a1+a2)/2)-a;
            if(a[v]>=a1&&a[v]<=a2)
                printf("%lld\n",abs(a1-a2)+abs(b1-b2));
            else{
                if(v!=1&&v!=n+1)v--;
                int w=lower_bound(a+1,a+n+1,(a1+a2)/2)-a;
                int c1=abs(b1-b2)+abs(a[w]-a1)+abs(a[w]-a2);
                int c2=abs(b1-b2)+abs(a[w-1]-a1)+abs(a[w-1]-a2);
                int c3=abs(b1-b2)+abs(a[w+1]-a1)+abs(a[w+1]-a2);
                printf("%d\n",min(c1,min(c2,c3)));
            }
        }
    }
}

zj:

在答案有误差时,可以对多种可能的答案取最小值来确定结果

jzoj1792的更多相关文章

随机推荐

  1. HashMap,Hash优化与高效散列

    OverView Hash table based implementation of the Map interface. This implementation provides all of t ...

  2. java多线程启动的方法runnable和callable

  3. Halcon阈值化算子dual_threshold和var_threshold的理解

    Halcon中阈值二值化的算子众多,通常用得最多的有threshold.binary_threshold.dyn_threshold等. threshold是最简单的阈值分割算子,理解最为简单:bin ...

  4. java同一个类中,构造器如何调用另一个重载的构造器?

    构造器里面调用其它构造器,格式方法如下:1.使用this调用另一个重载构造器,只能在构造器中使用:2.必须写在构造器执行体的第一行语句: 示例如下: import static java.lang.S ...

  5. [Java] Java API文档下载方法

    Java API文档下载方法:http://jingyan.baidu.com/article/a3aad71ac9e48fb1fb009692.html Oracle : http://www.or ...

  6. net 程序员面试宝典

    第1部分 求职过程 ------------------------------------------------------------------------------------------ ...

  7. (最短路 SPFA)Invitation Cards -- poj -- 1511

    链接: http://poj.org/problem?id=1511 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82829#probl ...

  8. 基于httpcore(httpclient component)搭建轻量级http服务器

    下面是apache官网例子 服务器端接受请求,实现接收文件请求处理器 import java.io.File; import java.io.IOException; import java.io.I ...

  9. 深水划水队项目---七天冲刺之day5

    站立式会议: 因为今天有成员回家,不能进行线下站立式会议,只能线上进行语音聊天 工作进度:  昨天完成的任务: 游戏功能的基本实现 商讨出如何实现游戏中的难度选择功能与道具功能 商讨出站立式会议能线下 ...

  10. 我的第一个博客&GuiHub简单练习

    个人介绍 姓名:马瑞 性别:男 班级:网络工程143 出生年月:1995.11 兴趣爱好:玩玩电脑,看看动漫. 编程能力:完全是菜鸟.   GutHub的使用体验:  第一步:注册github,这很简 ...