Submission #1219473

#TimeUsernameProblemLanguageResultExecution timeMemory
121947312345678Portal (BOI24_portal)C++20
10 / 100
22 ms3764 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int nx=1e5+5; ll n, x[nx], y[nx], gx, gy; vector<ll> vx, vy; 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], vx.push_back(x[i]), vy.push_back(y[i]); sort(vx.begin(), vx.end()); vx.erase(unique(vx.begin(), vx.end()), vx.end()); sort(vy.begin(), vy.end()); vy.erase(unique(vy.begin(), vy.end()), vy.end()); if (vx.size()==1||vy.size()==1) return cout<<-1, 0; for (int i=1; i<vx.size(); i++) gx=__gcd(gx, vx[i]-vx[i-1]); for (int i=1; i<vy.size(); i++) gy=__gcd(gy, vy[i]-vy[i-1]); cout<<gx*gy; }
#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...