#include using namespace std; #define int long long #define double long double int f(int x1, int y1, int x2, int y2, int x3, int y3) { int area = abs((x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2))); return area; } bool ff(int x1, int y1, int x2, int y2, int x3, int y3) { double epsilon = 1e-9; // 許容誤差 // 直線ABの傾きを計算 double slopeAB = 1.0*(y2 - y1) / (x2 - x1); // 直線ABの方程式を用いて、点Cのy座標を予測 double predictedY = y1 + 1.0 * slopeAB * (x3 - x1); // 点Cのy座標と実際のy座標の差を比較して判定 if (predictedY > y3) { return true; // Cは直線AB上にある } else { return false; // Cは直線AB上にない } } signed main(){ int N; cin>>N; vector X(N),Y(N); for(int i=0;i>X[i]>>Y[i]; int ans = 0; for(int i=0;i A = {}, B = {}; for(int k=0;k