#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int nx=1e5+5;
ll n, x[nx], y[nx];
struct myvector
{
ll x, y;
myvector(ll x, ll y): x(x), y(y){}
};
ll cross(myvector a, myvector b)
{
return a.x*b.y-a.y*b.x;
}
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin>>n;
for (int i=1; i<=n; i++) cin>>x[i]>>y[i];
if (n<=2) return cout<<-1, 0;
myvector v1=myvector(x[2]-x[1], y[2]-y[1]), v2=myvector(x[3]-x[1], y[3]-y[1]);
if (cross(v1, v2)==0) return cout<<-1, 0;
auto tmp=v1.y*v2.y/__gcd(v1.y, v2.y);
cout<<abs(v1.x*(tmp/v1.y)-v2.x*(tmp/v2.y));
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |