func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename T>   inline T qmin(const T &a, const T &b) {     return a < b ? a : b;   }   template <typename T>   inline T qmax(const T &a, const T &b) {     return a > b ? a : b;   }   template <typename T>   inline void getmin(T &a, const T &b) {     if (a > b) a = b;   }   template <typename T>   inline void getmax(T &a, const T &b) {     if (a < b) a = b;   }   inline void fileio(string s) {     freopen((s +  .in ).c_str(),  r , stdin);     freopen((s +  .out ).c_str(),  w , stdout);   }   const int inf = (int)1e9 + 7;   const long long linf = (long long)1e17 + 7;   const int N = 2e5 + 7;   struct vec {     long long x, y;     inline vec(const long long &_x = 0, const long long &_y = 0) : x(_x), y(_y) {}     inline vec operator+(const vec &b) { return vec(x + b.x, y + b.y); }     inline vec operator-(const vec &b) { return vec(x - b.x, y - b.y); }     inline long long dot(const vec &b) { return x * b.x + y * b.y; }     inline long long det(const vec &b) { return x * b.y - y * b.x; }   } a[N];   long long val[N];   int n;   double ans = 1e18;   inline void calc() {     for (register int i = (n + 1); i <= (n << 1); ++i) a[i] = a[i - n];     for (register int i = (2); i <= (n << 1); ++i) val[i] = a[i].det(a[i - 1]);     for (register int i = (2); i <= (n << 1); ++i) val[i] += val[i - 1];     int lst = 2;     for (register int i = (1); i <= (n); ++i) {       vec v1 = a[i + 1] - a[i];       long long cur = v1.dot(a[lst] - a[i]), tmp;       double len = (double)((a[i + 1].x - a[i].x) * (a[i + 1].x - a[i].x)) +                    (double)((a[i + 1].y - a[i].y) * (a[i + 1].y - a[i].y));       while (lst < (n << 1) && (tmp = v1.dot(a[lst + 1] - a[i])) >= cur)         cur = tmp, ++lst;       getmin(ans, cur / len * fabs(v1.det(a[lst] - a[i])) -                       fabs(val[lst] - val[i] + a[i].det(a[lst])));     }   }   int main() {     scanf( %d , &n);     for (register int i = (1); i <= (n); ++i) scanf( %lld%lld , &a[i].x, &a[i].y);     ans = 1e18;     calc();     reverse(a + 1, a + n + 1);     calc();     printf( %.10lf n , ans / 2);     return 0;   }   