Submission #1559881
Source Code Expand
#include <bits/stdc++.h> typedef long long ll; typedef long long llong; typedef long double ld; typedef unsigned long long ull; using namespace std; const ll MOD = 998244353; ll pw(ll a, ll b) { ll ans = 1; while (b) { while (!(b & 1)) b >>= 1, a = (a * a) % MOD; ans = (ans * a) % MOD, --b; } return ans; } struct point { ll x, y; point operator-(point a) { return {x - a.x, y - a.y}; } ll operator*(point a) { return x * a.y - y * a.x; } bool operator<(point a) { return make_pair(x, y) < make_pair(a.x, a.y); } }; int n; point a[300]; int main() { cin >> n; for (int i = 0; i < n; ++i) cin >> a[i].x >> a[i].y; ll ans = 1; for (int i = 0; i < n; ++i) ans = ans * 2 % MOD; ans = (ans - 1 + MOD) % MOD; ans = (ans - n + MOD) % MOD; for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) { if (!(a[i] < a[j])) continue; int cc = 0; for (int k = 0; k < n; ++k) if (a[i] < a[k] && a[k] < a[j] && (a[k] - a[i]) * (a[j] - a[i]) == 0) ++cc; ll mn = pw(2, cc); ans = (ans - mn + MOD) % MOD; } cout << ans << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - ConvexScore |
User | LHiC |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1153 Byte |
Status | AC |
Exec Time | 22 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 1_026.txt, 1_027.txt, 1_028.txt, 1_029.txt, 1_030.txt, 1_031.txt, 1_032.txt, 1_033.txt, 1_034.txt, 1_035.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 1 ms | 256 KB |
0_001.txt | AC | 1 ms | 256 KB |
0_002.txt | AC | 1 ms | 256 KB |
1_003.txt | AC | 1 ms | 256 KB |
1_004.txt | AC | 1 ms | 256 KB |
1_005.txt | AC | 6 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 11 ms | 256 KB |
1_008.txt | AC | 7 ms | 256 KB |
1_009.txt | AC | 9 ms | 256 KB |
1_010.txt | AC | 3 ms | 256 KB |
1_011.txt | AC | 9 ms | 256 KB |
1_012.txt | AC | 11 ms | 256 KB |
1_013.txt | AC | 6 ms | 256 KB |
1_014.txt | AC | 1 ms | 256 KB |
1_015.txt | AC | 8 ms | 256 KB |
1_016.txt | AC | 4 ms | 256 KB |
1_017.txt | AC | 20 ms | 256 KB |
1_018.txt | AC | 20 ms | 256 KB |
1_019.txt | AC | 21 ms | 256 KB |
1_020.txt | AC | 22 ms | 256 KB |
1_021.txt | AC | 22 ms | 256 KB |
1_022.txt | AC | 22 ms | 256 KB |
1_023.txt | AC | 21 ms | 256 KB |
1_024.txt | AC | 20 ms | 256 KB |
1_025.txt | AC | 19 ms | 256 KB |
1_026.txt | AC | 18 ms | 256 KB |
1_027.txt | AC | 13 ms | 256 KB |
1_028.txt | AC | 18 ms | 256 KB |
1_029.txt | AC | 20 ms | 256 KB |
1_030.txt | AC | 19 ms | 256 KB |
1_031.txt | AC | 20 ms | 256 KB |
1_032.txt | AC | 19 ms | 256 KB |
1_033.txt | AC | 19 ms | 256 KB |
1_034.txt | AC | 17 ms | 256 KB |
1_035.txt | AC | 14 ms | 256 KB |