Submission #4672795
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ull = uint64_t;
using ll = int64_t;
using ld = long double;
const int N = 800228;
int a[N];
int s[N];
int lc[N];
int rc[N];
set<int> ss;
int n, m;
void dfs(int v) {
v %= n;
ss.erase(v);
ss.erase(v + n);
for (;;) {
auto it = ss.lower_bound(lc[v]);
if (it != ss.end() && *it < rc[v]) {
dfs(*it % n);
} else {
break;
}
}
}
int main() {
#ifdef BZ
freopen("input.txt", "r", stdin);
#endif
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cout.setf(ios::fixed); cout.precision(20);
cin >> n >> m;
n *= 2;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
sort(a, a + n);
for (int i = 0; i < n; ++i) {
a[n + i] = a[i] + m;
}
int l = 0, r = m;
while (l +1 <r) {
int md = (l + r) / 2;
memset(s, 0, sizeof(s));
/*for (int i = 0; i < 2 * n; ++i) {
ss.insert(i);
}*/
for (int i = 0; i < n; ++i) {
lc[i] = lower_bound(a, a + 2 * n, m - a[i]) - a;
rc[i] = lower_bound(a, a + 2 * n, m - a[i] + md) - a;
++s[lc[i] + i];
--s[rc[i] + i];
}
bool bad = false;
/*for (int i = 0; i < n; ++i) {
if (ss.count(i)) {
dfs(i);
bad |= (ss.size() / 2) % 2;
}
}*/
bool good = false;
for (int i = 0; i < 3 * n; ++i) {
s[i + 1] += s[i];
}
for (int i= 0; i < n; ++i) {
good |= (i %2) && (s[i] + s[i + n] + s[i + 2 * n] == n);
}
((good && !bad) ? r : l) = md;
}
cout << l << "\n";
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Modulo Pairing |
| User | cospleermusora |
| Language | C++14 (GCC 5.4.1) |
| Score | 1200 |
| Code Size | 1838 Byte |
| Status | AC |
| Exec Time | 587 ms |
| Memory | 9216 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 0_00.txt, 0_01.txt |
| All | 0_00.txt, 0_01.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00.txt | AC | 3 ms | 6400 KiB |
| 0_01.txt | AC | 3 ms | 6400 KiB |
| 1_00.txt | AC | 2 ms | 2304 KiB |
| 1_01.txt | AC | 16 ms | 4352 KiB |
| 1_02.txt | AC | 7 ms | 6400 KiB |
| 1_03.txt | AC | 7 ms | 6400 KiB |
| 1_04.txt | AC | 7 ms | 6400 KiB |
| 1_05.txt | AC | 411 ms | 9216 KiB |
| 1_06.txt | AC | 416 ms | 9216 KiB |
| 1_07.txt | AC | 402 ms | 9216 KiB |
| 1_08.txt | AC | 402 ms | 9216 KiB |
| 1_09.txt | AC | 403 ms | 9216 KiB |
| 1_10.txt | AC | 291 ms | 9216 KiB |
| 1_11.txt | AC | 298 ms | 9216 KiB |
| 1_12.txt | AC | 279 ms | 9216 KiB |
| 1_13.txt | AC | 587 ms | 9216 KiB |
| 1_14.txt | AC | 57 ms | 6528 KiB |
| 1_15.txt | AC | 585 ms | 9216 KiB |
| 1_16.txt | AC | 59 ms | 6528 KiB |
| 1_17.txt | AC | 480 ms | 9216 KiB |
| 1_18.txt | AC | 43 ms | 6528 KiB |
| 1_19.txt | AC | 506 ms | 9216 KiB |
| 1_20.txt | AC | 47 ms | 6528 KiB |
| 1_21.txt | AC | 422 ms | 9216 KiB |
| 1_22.txt | AC | 41 ms | 6528 KiB |
| 1_23.txt | AC | 394 ms | 9216 KiB |
| 1_24.txt | AC | 45 ms | 6528 KiB |
| 1_25.txt | AC | 557 ms | 9216 KiB |
| 1_26.txt | AC | 51 ms | 6528 KiB |
| 1_27.txt | AC | 546 ms | 9216 KiB |
| 1_28.txt | AC | 59 ms | 6528 KiB |
| 1_29.txt | AC | 556 ms | 9216 KiB |
| 1_30.txt | AC | 51 ms | 6528 KiB |
| 1_31.txt | AC | 468 ms | 9216 KiB |
| 1_32.txt | AC | 51 ms | 6528 KiB |
| 1_33.txt | AC | 540 ms | 9216 KiB |
| 1_34.txt | AC | 45 ms | 6528 KiB |
| 1_35.txt | AC | 509 ms | 9216 KiB |
| 1_36.txt | AC | 54 ms | 6528 KiB |
| 1_37.txt | AC | 522 ms | 9216 KiB |
| 1_38.txt | AC | 45 ms | 6528 KiB |
| 1_39.txt | AC | 564 ms | 9216 KiB |
| 1_40.txt | AC | 51 ms | 6528 KiB |
| 1_41.txt | AC | 509 ms | 9216 KiB |
| 1_42.txt | AC | 49 ms | 6528 KiB |
| 1_43.txt | AC | 538 ms | 9216 KiB |
| 1_44.txt | AC | 51 ms | 6528 KiB |
| 1_45.txt | AC | 478 ms | 9216 KiB |
| 1_46.txt | AC | 46 ms | 6528 KiB |
| 1_47.txt | AC | 528 ms | 9216 KiB |
| 1_48.txt | AC | 50 ms | 6528 KiB |
| 1_49.txt | AC | 524 ms | 9216 KiB |
| 1_50.txt | AC | 51 ms | 6528 KiB |
| 1_51.txt | AC | 468 ms | 9216 KiB |
| 1_52.txt | AC | 50 ms | 6528 KiB |
| 1_53.txt | AC | 510 ms | 9216 KiB |
| 1_54.txt | AC | 51 ms | 6528 KiB |
| 1_55.txt | AC | 491 ms | 9216 KiB |
| 1_56.txt | AC | 48 ms | 6528 KiB |