@994495jj
2017-08-21T12:01:58.000000Z
字数 862
阅读 783
201708
#include<bits/stdc++.h>using namespace std;#define fi first#define se second#define pb push_back#define sz(a) (int)a.size()#define mp make_pair#define rep(i, a, b) for(int i=(a); i<(b); i++)#define de(a) cout<<#a<<"="<<a<<endl;typedef long long ll;typedef double db;typedef pair<int, int> pii;typedef vector<int> vi;//--------const int N=200005;const db eps=1e-5;const db s21=sqrt(2)-1;int n;int x[N],y[N];int sign(db x) {return (x>eps)-(x<-eps);}db calc(int sta,int o) {db _x=x[o],_y=y[o];if(sta&1) _y*=s21;else _x*=s21;if(sta&(1<<1)) _x=-_x;if(sta&(1<<2)) _y=-_y;return _x+_y;}bool Max(int sta,int o,int _) {return sign(calc(sta,o)-calc(sta,_))>0;}int main() {scanf("%d",&n);rep(i,1,n+1) scanf("%d%d",x+i,y+i);int a=1,b=1;db ans=0;rep(i,0,(1<<3)) {int mi=1,ma=1;rep(j,2,n+1) {if(Max(i,j,ma)) ma=j;if(Max(i,mi,j)) mi=j;}db t=calc(i,ma)-calc(i,mi);if(sign(t-ans)>0) {a=mi;b=ma;ans=t;}}printf("%d %d\n",a,b);return 0;}
