首页 > 其他 > 详细

小HY的四元组

时间:2019-04-07 14:45:18      阅读:97      评论:0      收藏:0      [点我收藏+]

4.7 比赛T1,然而这题爆零了

其实很简单的...其实哈希都不用

所以首先记录每组的差值,按其sort一下再暴力找即可

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 using namespace std;
 5 int n,minv,maxv;
 6 long long x,y,z,t;
 7 struct ty{long long a,b,c; int id;}p[500005];
 8 bool cmp(ty x,ty y){if(x.a!=y.a) return x.a<y.a;if(x.b!=y.b) return x.b<y.b;if(x.c!=y.c) return x.c<y.c;return x.id<y.id;}
 9 int main(){
10     cin>>n;
11     for(int i=1;i<=n;i++)
12         scanf("%lld%lld%lld%lld",&x,&y,&z,&t),
13         p[i].a=y-x,p[i].b=z-y,p[i].c=t-z,p[i].id=i;
14     sort(p+1,p+n+1,cmp);
15     x=p[1].a;y=p[1].b;z=p[1].c;
16     minv=0x3f3f3f3f;
17     for(int i=2;i<=n;i++) 
18     if(p[i].a!=x||p[i].b!=y||p[i].c!=z)
19         x=p[i].a,y=p[i].b,z=p[i].c;
20     else    minv=min(minv,p[i].id-p[i-1].id),maxv=max(maxv,p[i].id+p[i-1].id);
21     cout<<minv<< <<maxv<<endl;
22     return 0;
23 }

 

小HY的四元组

原文:https://www.cnblogs.com/zhenglw/p/10665136.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!