最小三角形,相邻三个点组成的三角形最小:
#include<stdio.h>
#include<math.h>
#include<algorithm>
#define ll long long
using namespace std;
ll x[200005]={0};
ll y[200005]={0};
ll look(ll x1,ll y1,ll x2,ll y2)
{
return abs((ll)x1*y2-(ll)x2*y1);
}
int main()
{
int n;
while(~scanf("%d",&n))
{
ll minn=5e18+1;
for(int i=0;i<n;i++)
scanf("%lld%lld",&x[i],&y[i]);
x[n]=x[0] ,y[n]=y[0];
x[n+1]=x[1],y[n+1]=y[1];
for(int i=0;i<n;i++)
minn=min(minn , look(x[i]-x[i+1] , y[i]-y[i+1] , x[i]-x[i+2] , y[i]-y[i+2]));
printf("%lld\n",minn);
}
return 0;
}