제출 #1178862

#제출 시각아이디문제언어결과실행 시간메모리
1178862gygPortal (BOI24_portal)C++20
10 / 100
108 ms20768 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define arr array #define pii pair<int, int> #define fir first #define sec second #define vec vector const int N = 1e5 + 5; int n; arr<pii, N> a; map<int, set<int>> x, y; void cmp() { for (int i = 1; i <= n; i++) x[a[i].fir].insert(a[i].sec), y[a[i].sec].insert(a[i].fir); if (x.size() == 1 || y.size() == 1) { cout << -1 << '\n'; return; } int x_df = -1, y_df = -1; for (pair<int, set<int>> z : x) { for (auto it = z.sec.begin(); it != z.sec.end(); it++) { if (next(it, 1) == z.sec.end()) continue; int df = *next(it, 1) - *it; y_df = (y_df == -1) ? df : __gcd(y_df, df); } } for (pair<int, set<int>> z : y) { for (auto it = z.sec.begin(); it != z.sec.end(); it++) { if (next(it, 1) == z.sec.end()) continue; int df = *next(it, 1) - *it; x_df = (x_df == -1) ? df : __gcd(x_df, df); } } cout << x_df * y_df << '\n'; } signed main() { // freopen("in", "r", stdin); cin >> n; for (int i = 1; i <= n; i++) cin >> a[i].fir >> a[i].sec; cmp(); }
#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...