Submission #1310022

#TimeUsernameProblemLanguageResultExecution timeMemory
1310022harryleeePortal (BOI24_portal)C++20
11 / 100
22 ms1260 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...