#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5;
int n;
vector<int> x, y;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
if (n <= 2){
cout << -1;
return 0;
}
for (int i = 1; i <= n; ++i){
int a, b; cin >> a >> b;
x.push_back(a); y.push_back(b);
}
// x.push_back(0);
// y.push_back(0);
sort(x.begin(), x.end());
sort(y.begin(), y.end());
x.erase(unique(x.begin(), x.end()), x.end());
y.erase(unique(y.begin(), y.end()), y.end());
long long res1 = -1, res2 = -1;
for (int i = 1; i < x.size(); ++i){
if (res1 == -1) res1 = x[i] - x[i - 1];
else res1 = gcd(res1, x[i] - x[i - 1]);
}
for (int i = 1; i < y.size(); ++i){
if (res2 == -1) res2 = y[i] - y[i - 1];
else res2 = gcd(res2, y[i] - y[i - 1]);
}
if (res1 == -1 || res2 == -1) cout << -1;
else cout << 1LL * res1 * res2;
return 0;
}
| # | 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... |