제출 #1192643

#제출 시각아이디문제언어결과실행 시간메모리
1192643boclobanchatPortal (BOI24_portal)C++20
11 / 100
12 ms1904 KiB
#include<bits/stdc++.h> using namespace std; #define ii pair<long long,long long> #define fi first #define se second const int MAXN=1e5+5; ii P[MAXN]; void update(ii& a,ii& b) { if(a.fi<b.fi) swap(a,b); if(!b.fi) return ; while(a.fi) { if(a.fi<b.fi) swap(a,b); long long k=a.fi/b.fi; a.fi-=k*b.fi,a.se-=k*b.se; } } long long f(int i,int j) { return P[i].fi*P[j].se-P[i].se*P[j].fi; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n,ans=0; cin>>n; if(n<=2) return cout<<-1,0; for(int i=1;i<=n;i++) cin>>P[i].fi>>P[i].se; for(int i=1;i<n;i++) { P[i].fi-=P[i+1].fi,P[i].se-=P[i+1].se; if(P[i].fi<0) P[i].fi=-P[i].fi,P[i].se=-P[i].se; } for(int i=2;i<n;i++) update(P[i-1],P[i]); for(int i=2;i<n-1;i++) P[i].se=__gcd(P[i].se,P[i-1].se); ans=f(n-2,n-1); if(!ans) return cout<<-1,0; cout<<abs(ans); }
#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...