Submission #70047262
Source Code Expand
Copy
import syssys.setrecursionlimit(1 << 25)data = list(map(int, sys.stdin.read().split()))it = iter(data)N = next(it)M = next(it)A = [next(it) for _ in range(N)]mid = N // 2left_list = []def dfs_left(i, s, last):if i >= mid:left_list.append((s % M, last))returndfs_left(i + 1, s, last)dfs_left(i + 2, s + A[i], last or (i == mid - 1))from collections import defaultdictright0 = defaultdict(int)right1 = defaultdict(int)def dfs_right(i, s, first):
import sys
sys.setrecursionlimit(1 << 25)
data = list(map(int, sys.stdin.read().split()))
it = iter(data)
N = next(it)
M = next(it)
A = [next(it) for _ in range(N)]
mid = N // 2
left_list = []
def dfs_left(i, s, last):
if i >= mid:
left_list.append((s % M, last))
return
dfs_left(i + 1, s, last)
dfs_left(i + 2, s + A[i], last or (i == mid - 1))
from collections import defaultdict
right0 = defaultdict(int)
right1 = defaultdict(int)
def dfs_right(i, s, first):
if i >= N:
if first:
right1[s % M] += 1
else:
right0[s % M] += 1
return
dfs_right(i + 1, s, first)
dfs_right(i + 2, s + A[i], first or (i == mid))
dfs_left(0, 0, False)
dfs_right(mid, 0, False)
res = 0
for s, last in left_list:
target = (-s) % M
if last:
res += right0.get(target, 0)
else:
res += right0.get(target, 0) + right1.get(target, 0)
print(res)
Submission Info
| Submission Time | |
|---|---|
| Task | F - Not Adjacent |
| User | h1mazin |
| Language | Python (CPython 3.11.4) |
| Score | 525 |
| Code Size | 977 Byte |
| Status | AC |
| Exec Time | 2824 ms |
| Memory | 422340 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 525 / 525 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 11 ms | 9264 KiB |
| 00_sample_01.txt | AC | 12 ms | 9336 KiB |
| 00_sample_02.txt | AC | 12 ms | 9320 KiB |
| 01_random_03.txt | AC | 2815 ms | 422076 KiB |
| 01_random_04.txt | AC | 2822 ms | 422124 KiB |
| 01_random_05.txt | AC | 2709 ms | 422044 KiB |
| 01_random_06.txt | AC | 2789 ms | 422088 KiB |
| 01_random_07.txt | AC | 2740 ms | 422076 KiB |
| 01_random_08.txt | AC | 2763 ms | 419684 KiB |
| 01_random_09.txt | AC | 2749 ms | 422340 KiB |
| 01_random_10.txt | AC | 2761 ms | 422040 KiB |
| 01_random_11.txt | AC | 12 ms | 9316 KiB |
| 01_random_12.txt | AC | 22 ms | 11232 KiB |
| 01_random_13.txt | AC | 13 ms | 9584 KiB |
| 01_random_14.txt | AC | 131 ms | 32848 KiB |
| 01_random_15.txt | AC | 33 ms | 13424 KiB |
| 01_random_16.txt | AC | 2637 ms | 362440 KiB |
| 01_random_17.txt | AC | 2764 ms | 422056 KiB |
| 01_random_18.txt | AC | 2775 ms | 422056 KiB |
| 01_random_19.txt | AC | 2729 ms | 422312 KiB |
| 01_random_20.txt | AC | 1709 ms | 236332 KiB |
| 01_random_21.txt | AC | 2824 ms | 420016 KiB |
| 01_random_22.txt | AC | 2769 ms | 422068 KiB |
| 01_random_23.txt | AC | 2496 ms | 362392 KiB |
| 01_random_24.txt | AC | 12 ms | 9400 KiB |
| 01_random_25.txt | AC | 18 ms | 10352 KiB |
| 01_random_26.txt | AC | 22 ms | 11188 KiB |
| 01_random_27.txt | AC | 13 ms | 9384 KiB |
| 01_random_28.txt | AC | 38 ms | 14676 KiB |
| 01_random_29.txt | AC | 2289 ms | 325984 KiB |
| 01_random_30.txt | AC | 2535 ms | 364280 KiB |
| 01_random_31.txt | AC | 2353 ms | 324892 KiB |
| 01_random_32.txt | AC | 2147 ms | 298072 KiB |
| 01_random_33.txt | AC | 2336 ms | 352184 KiB |
| 01_random_34.txt | AC | 2319 ms | 326152 KiB |
| 01_random_35.txt | AC | 2456 ms | 363516 KiB |
| 01_random_36.txt | AC | 2406 ms | 351896 KiB |
| 01_random_37.txt | AC | 12 ms | 9316 KiB |
| 01_random_38.txt | AC | 11 ms | 9332 KiB |
| 01_random_39.txt | AC | 11 ms | 9368 KiB |
| 01_random_40.txt | AC | 11 ms | 9276 KiB |
| 01_random_41.txt | AC | 79 ms | 20800 KiB |
| 01_random_42.txt | AC | 1420 ms | 162852 KiB |
| 01_random_43.txt | AC | 1458 ms | 162784 KiB |
| 01_random_44.txt | AC | 1714 ms | 220364 KiB |
| 01_random_45.txt | AC | 1683 ms | 220504 KiB |
| 01_random_46.txt | AC | 1733 ms | 221248 KiB |
| 01_random_47.txt | AC | 1712 ms | 222028 KiB |
| 01_random_48.txt | AC | 1688 ms | 222220 KiB |
| 01_random_49.txt | AC | 11 ms | 9336 KiB |
| 01_random_50.txt | AC | 11 ms | 9348 KiB |
| 01_random_51.txt | AC | 11 ms | 9360 KiB |
| 01_random_52.txt | AC | 11 ms | 9276 KiB |