代码:

这道题也并不难,用排序+简单动规即可。因为@Kevin_Wa 大佬放的是c++,所以我来一发Pascal。

var min,max,i,a1,b1,c1,d1,n:longint;
a,b,c,d:array[0..500000] of int64;
procedure sort(l,r: longint);
var i,j,x,y,y1,y2,y3:longint;
begin
i:=l;j:=r;x:=a[(l+r) div 2];y1:=b[(l+r) div 2];
y2:=c[(l+r) div 2];y3:=d[(l+r) div 2];
repeat
while (a[i]<x)or((a[i]=x)and(b[i]<y1))or((a[i]=x)and(b[i]=y1)and(c[i]<y2))
or((a[i]=x)and(b[i]=y1)and(c[i]=y2)and(d[i]<y3)) do inc(i);
while (x<a[j])or((x=a[j])and(y1<b[j]))or((x=a[j])and(y1=b[j])and(y2<c[j]))
or((x=a[j])and(y1=b[j])and(y2=c[j])and(y3<d[j])) do dec(j);
if not(i>j) then
begin
y:=a[i];a[i]:=a[j];a[j]:=y;
y:=b[i];b[i]:=b[j];b[j]:=y;
y:=c[i];c[i]:=c[j];c[j]:=y;
y:=d[i];d[i]:=d[j];d[j]:=y;
inc(i);j:=j-1;
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin
readln(n);
for i:=1 to n do
begin
read(a1,b1,c1,d1);
a[i]:=b1-a1;b[i]:=c1-a1;c[i]:=d1-a1;
d[i]:=i;
end;
sort(1,n);
min:=maxlongint;
max:=-maxlongint;
for i:=2 to n do
if (a[i]=a[i-1])and(b[i]=b[i-1])and(c[i]=c[i-1]) then
begin
if (d[i]-d[i-1]<min) then min:=d[i]-d[i-1];
if (d[i]+d[i-1]>max) then max:=d[i]+d[i-1];
end;
writeln(min,' ',max);
close(input);close(output);
end.

最新文章

  1. fhq treap最终模板
  2. 周六搞事情,微信小程序开发文档已放出!
  3. BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
  4. Xamarin.Android提示找不到mono.Android.Support.v4
  5. 过滤DataTable中的空数据
  6. Laravel5 cookie和session设置
  7. 如何写angularJS模块
  8. 『安全工具』注入神器SQLMAP
  9. Android实现获取本机中所有图片
  10. EntityFramework sum嵌套
  11. js 控制台的错误提示
  12. tcpip第三章
  13. 掷骰子DApp的实现
  14. Filter的使用(web作业)
  15. 《CSAPP》虚拟存储器
  16. C - 数字配对 (网络流 最大费用最大流)
  17. phpStorm中Structure窗口中的符号代表的意思
  18. 【转】Currying 的局限性
  19. PHP基于Sphinx+Swcs中文分词的全文的检索
  20. C# 请求Https

热门文章

  1. Linux可以把vmdk当做磁盘加载进去
  2. 高斯判别分析模型( Gaussian discriminant analysis)及Python实现
  3. xe5 for android 地理定位GPS
  4. [2017.02.23] Java8 函数式编程
  5. Ionic Framework 4 介绍
  6. java集合框架collection(5)HashMap和TreeMap
  7. 如何使用Vue.js来搭建一个后台管理系统
  8. 缩放手势 ScaleGestureDetector 源码解析,这一篇就够了
  9. git日常使用整理
  10. 系统学习 Java IO (十二)----数据流和对象流