#include <bits/stdc++.h>
#define pb push_back
#define ll long long int
#define all(v) (v).begin(),(v).end()
#define fi first
#define se second
using namespace std;
int main() {
int n; cin >> n;
vector<pair<ll,ll>> p;
p.resize(n);
for (int i = 0; i < n; i++) {
cin >> p[i].fi >> p[i].se;
}
if (n <= 2) {cout << -1; return 0;}
if (p[0].fi == p[1].fi && p[1].fi == p[2].fi) {cout << -1; return 0;}
if (p[0].se == p[1].se && p[1].se == p[2].se) {cout << -1; return 0;}
ll ans = -1;
if (p[0].fi == p[1].fi) {
ans = max(ans, abs((p[0].se-p[1].se)*(p[2].fi-p[0].fi)));
}
if (p[1].fi == p[2].fi) {
ans = max(ans, abs((p[1].se-p[2].se)*(p[0].fi-p[1].fi)));
}
if (p[2].fi == p[0].fi) {
ans = max(ans, abs((p[2].se-p[0].se)*(p[1].fi-p[2].fi)));
}
if (p[0].se == p[1].se) {
ans = max(ans, abs((p[0].fi-p[1].fi)*(p[2].se-p[0].se)));
}
if (p[1].se == p[2].se) {
ans = max(ans, abs((p[1].fi-p[2].fi)*(p[0].se-p[1].se)));
}
if (p[2].se == p[0].se) {
ans = max(ans, abs((p[2].fi-p[0].fi)*(p[1].se-p[2].se)));
}
cout << ans;
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... |