题意:求凸包面积/50,取整
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
double EPS = 1e-12;
struct cpoint{
double x,y;
void get(){scanf("%lf%lf",&x,&y);}
};
double x_mult(cpoint a,cpoint b,cpoint c){
return (a.x-c.x)*(b.y-c.y)-(a.y-c.y)*(b.x-c.x);
}
int cmp(cpoint const a,const cpoint b){
return a.y<b.y||(a.y==b.y&&a.x<b.x);
}
int granham(cpoint p[],int s,cpoint r[])
{
int i,len,top = 1;
sort(p,p+s,cmp);
r[0]= p[0],r[1] = p[1];
if(s<3) return s;
for(i=2;i<s;i++)
{
while(top&&x_mult(p[i],r[top],r[top-1])>EPS) top--;
r[++top] = p[i];
}
len = top;r[++top] = p[s-2];
for(i=s-3;i>=0;i--)
{
while(top!=len&&x_mult(p[i],r[top],r[top-1])>EPS) top--;
r[++top] = p[i];
}
return top;
}
double area(cpoint p[],int s)
{
double ret=0;
if(s<3) return 0;
for(int i=1;i<s-1;i++)
{
ret+=x_mult(p[i],p[i+1],p[0]);
}ret/=2;
return ret;
}
cpoint p[10009],ans[10009];
int main()
{
freopen("in.txt","r",stdin);
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) p[i].get();
int k = granham(p,n,ans);
double a = area(ans,k);
printf("%d\n",int(a/50));
return 0;
}