QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#533285 | #8708. Portal | makrav# | 1 | 7ms | 9344kb | C++20 | 2.1kb | 2024-08-25 19:37:51 | 2024-08-25 19:37:52 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int ll
#define pb push_back
int gcd(int x, int y) {
x = abs(x); y = abs(y);
while (x) {
y %= x;
swap(x, y);
}
return y;
}
void solve() {
int n; cin >> n;
vector<pair<int, int>> a(n);
for (int i = 0; i < n; i++) cin >> a[i].first >> a[i].second;
vector<pair<int, int>> v;
for (int i = 1; i < n; i++) {
v.pb({a[i].first - a[0].first, a[i].second - a[0].second});
}
bool line = true;
for (int i = 2; i < n; i++) {
if ((a[i].first - a[0].first) * (a[1].second - a[0].second) - (a[i].second - a[0].second) * (a[1].first - a[0].first) != 0) line = false;
}
if (line) {
cout << "-1\n";
return;
}
vector<pair<int, int>> newv = {v[0]};
for (int i = 1; i < n - 1; i++) {
if (v[i].first * v[0].second - v[i].second * v[0].first != 0) {
newv.pb(v[i]);
for (int j = 1; j < n; j++) {
if (j != i) newv.pb(v[j]);
}
break;
}
}
swap(v, newv);
int cdx, cdy;
if (v[0].first == 0) {
cdy = abs(v[0].second);
} else if (v[1].first == 0) {
cdy = abs(v[1].second);
} else {
cdy = abs(v[0].second * (v[1].first / gcd(v[1].first, v[0].first)) - v[1].second * (v[0].first / gcd(v[1].first, v[0].first)));
}
if (v[0].second == 0) {
cdx = abs(v[0].first);
} else if (v[1].second == 0) {
cdx = abs(v[1].first);
} else {
cdx = abs(v[0].first * (v[1].second / gcd(v[1].second, v[0].second)) - v[1].first * (v[0].second / gcd(v[1].second, v[0].second)));
}
int dry = gcd(v[0].first, v[1].first), drx = gcd(v[1].second, v[0].second);
cout << cdx * dry << '\n';
}
signed main() {
int tt = 1;
#ifdef LOCAL
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
cin >> tt;
#else
ios::sync_with_stdio(false); cin.tie(0);
#endif
while (tt--) {
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 1
Accepted
Test #1:
score: 1
Accepted
time: 0ms
memory: 3824kb
input:
1 1 -1
output:
-1
result:
ok single line: '-1'
Test #2:
score: 1
Accepted
time: 0ms
memory: 3480kb
input:
2 -455833 -283524 427847 159281
output:
-1
result:
ok single line: '-1'
Test #3:
score: 1
Accepted
time: 0ms
memory: 3748kb
input:
2 52420 -46322 -192914 87067
output:
-1
result:
ok single line: '-1'
Test #4:
score: 1
Accepted
time: 0ms
memory: 3600kb
input:
2 52446 -20773 179773 174566
output:
-1
result:
ok single line: '-1'
Test #5:
score: 1
Accepted
time: 0ms
memory: 3512kb
input:
2 -229012 -260770 -174790 -69382
output:
-1
result:
ok single line: '-1'
Test #6:
score: 1
Accepted
time: 0ms
memory: 3540kb
input:
2 -127294 418312 211124 37002
output:
-1
result:
ok single line: '-1'
Test #7:
score: 1
Accepted
time: 0ms
memory: 3808kb
input:
2 -129173 516840 46821 -187136
output:
-1
result:
ok single line: '-1'
Test #8:
score: 1
Accepted
time: 0ms
memory: 3532kb
input:
2 -90088 -7423 234488 19625
output:
-1
result:
ok single line: '-1'
Test #9:
score: 1
Accepted
time: 0ms
memory: 3608kb
input:
2 -48105 256695 15135 -80585
output:
-1
result:
ok single line: '-1'
Test #10:
score: 1
Accepted
time: 0ms
memory: 3524kb
input:
2 -251318 79061 182792 -129183
output:
-1
result:
ok single line: '-1'
Test #11:
score: 1
Accepted
time: 0ms
memory: 3548kb
input:
2 784850 417677 -217245 -460999
output:
-1
result:
ok single line: '-1'
Test #12:
score: 1
Accepted
time: 0ms
memory: 3596kb
input:
2 31270 410692 713271 917276
output:
-1
result:
ok single line: '-1'
Test #13:
score: 1
Accepted
time: 0ms
memory: 3524kb
input:
1 230862 -785444
output:
-1
result:
ok single line: '-1'
Test #14:
score: 1
Accepted
time: 0ms
memory: 3588kb
input:
2 222814 -279784 -73657 59849
output:
-1
result:
ok single line: '-1'
Test #15:
score: 1
Accepted
time: 0ms
memory: 3744kb
input:
2 72171 -104186 201480 105502
output:
-1
result:
ok single line: '-1'
Test #16:
score: 1
Accepted
time: 0ms
memory: 3540kb
input:
2 -17727 -27151 69235 15029
output:
-1
result:
ok single line: '-1'
Test #17:
score: 1
Accepted
time: 0ms
memory: 3592kb
input:
2 -44049 96618 173806 -21489
output:
-1
result:
ok single line: '-1'
Test #18:
score: 1
Accepted
time: 0ms
memory: 3552kb
input:
2 -81268 -53452 329866 -163275
output:
-1
result:
ok single line: '-1'
Subtask #2:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Test #19:
score: 0
Wrong Answer
time: 0ms
memory: 3808kb
input:
3 1 1 1 3 3 2
output:
8
result:
wrong answer 1st lines differ - expected: '4', found: '8'
Subtask #3:
score: 0
Wrong Answer
Test #40:
score: 0
Wrong Answer
time: 7ms
memory: 9344kb
input:
99840 -359536 735499 -710626 400619 -468266 -282389 -192706 43659 204034 -543669 -100576 -749013 -118006 -283125 -341276 405771 560934 835595 -923936 506603 239724 956299 -680746 -737237 286204 982795 -847576 -282389 -949666 986475 996684 -429589 672984 -133717 140954 696491 -879116 -442837 985064 7...
output:
361950815600
result:
wrong answer 1st lines differ - expected: '610880', found: '361950815600'
Subtask #4:
score: 0
Wrong Answer
Test #59:
score: 29
Accepted
time: 0ms
memory: 3504kb
input:
5 0 0 1 0 -1 0 0 1 0 -1
output:
1
result:
ok single line: '1'
Test #60:
score: 0
Wrong Answer
time: 0ms
memory: 3824kb
input:
100 -30 -13 -22 -19 32 9 -18 -11 50 19 16 5 -50 -17 -46 -21 10 -1 -56 -19 2 -11 -24 -15 -4 -11 -8 -11 4 7 -8 -5 34 9 18 7 20 1 -12 -11 -30 -23 -42 -13 -24 -3 16 11 -16 -7 -24 -21 2 -9 28 11 6 -9 -22 -11 4 -7 28 7 -36 -15 -20 -21 4 11 -8 5 20 5 30 21 58 19 4 -1 -46 -19 -6 3 2 11 46 15 18 -1 -24 -7 -2...
output:
548
result:
wrong answer 1st lines differ - expected: '4', found: '548'
Subtask #5:
score: 0
Skipped
Dependency #2:
0%
Subtask #6:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%