Submission #65277175
Source Code Expand
Copy
from collections import Counterdef f(A, D):N = len(A)cnt = Counter(A)if D == 0:return N - len(cnt)buck= {}for v in cnt:r = v % Dbuck.setdefault(r, []).append(v)def solve(bl):w = [cnt[v] for v in bl]m = len(w)if m == 1:return w[0]dp0, dp1 = w[0], max(w[0], w[1])for i in range(2, m):
from collections import Counter
def f(A, D):
N = len(A)
cnt = Counter(A)
if D == 0:
return N - len(cnt)
buck= {}
for v in cnt:
r = v % D
buck.setdefault(r, []).append(v)
def solve(bl):
w = [cnt[v] for v in bl]
m = len(w)
if m == 1:
return w[0]
dp0, dp1 = w[0], max(w[0], w[1])
for i in range(2, m):
dp0, dp1 = dp1, max(dp1, dp0 + w[i])
return dp1
keep = 0
for vs in buck.values():
vs.sort()
bl=[vs[0]]
for v in vs[1:]:
if v-bl[-1]==D:
bl.append(v)
else:
keep+=solve(bl)
bl=[v]
keep+=solve(bl)
return N-keep
if __name__ == "__main__":
import sys
input = sys.stdin.readline
N, D = map(int, input().split())
A = list(map(int, input().split()))
print(f(A,D))
Submission Info
| Submission Time | |
|---|---|
| Task | D - Forbidden Difference |
| User | kotafuku |
| Language | Python (PyPy 3.10-v7.3.12) |
| Score | 425 |
| Code Size | 964 Byte |
| Status | AC |
| Exec Time | 196 ms |
| Memory | 180344 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 425 / 425 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_01.txt, 01_random_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, 02_handmade_01.txt, 02_handmade_02.txt, 02_handmade_03.txt, 02_handmade_04.txt, 02_handmade_05.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_01.txt | AC | 66 ms | 76760 KiB |
| 00_sample_02.txt | AC | 67 ms | 76748 KiB |
| 00_sample_03.txt | AC | 66 ms | 76748 KiB |
| 01_random_01.txt | AC | 94 ms | 104120 KiB |
| 01_random_02.txt | AC | 71 ms | 81372 KiB |
| 01_random_03.txt | AC | 93 ms | 104212 KiB |
| 01_random_04.txt | AC | 76 ms | 89928 KiB |
| 01_random_05.txt | AC | 93 ms | 104420 KiB |
| 01_random_06.txt | AC | 89 ms | 101484 KiB |
| 01_random_07.txt | AC | 92 ms | 104524 KiB |
| 01_random_08.txt | AC | 82 ms | 96640 KiB |
| 01_random_09.txt | AC | 94 ms | 104112 KiB |
| 01_random_10.txt | AC | 91 ms | 101936 KiB |
| 01_random_11.txt | AC | 93 ms | 104076 KiB |
| 01_random_12.txt | AC | 87 ms | 99664 KiB |
| 01_random_13.txt | AC | 93 ms | 104056 KiB |
| 01_random_14.txt | AC | 77 ms | 92388 KiB |
| 01_random_15.txt | AC | 96 ms | 103908 KiB |
| 01_random_16.txt | AC | 73 ms | 87648 KiB |
| 01_random_17.txt | AC | 102 ms | 106076 KiB |
| 01_random_18.txt | AC | 96 ms | 100812 KiB |
| 01_random_19.txt | AC | 103 ms | 106592 KiB |
| 01_random_20.txt | AC | 91 ms | 96216 KiB |
| 01_random_21.txt | AC | 110 ms | 106724 KiB |
| 01_random_22.txt | AC | 111 ms | 107308 KiB |
| 01_random_23.txt | AC | 96 ms | 105760 KiB |
| 01_random_24.txt | AC | 89 ms | 97328 KiB |
| 01_random_25.txt | AC | 189 ms | 152776 KiB |
| 01_random_26.txt | AC | 95 ms | 92104 KiB |
| 01_random_27.txt | AC | 193 ms | 143404 KiB |
| 01_random_28.txt | AC | 99 ms | 92312 KiB |
| 01_random_29.txt | AC | 196 ms | 180344 KiB |
| 01_random_30.txt | AC | 188 ms | 169404 KiB |
| 01_random_31.txt | AC | 117 ms | 135984 KiB |
| 01_random_32.txt | AC | 104 ms | 94944 KiB |
| 02_handmade_01.txt | AC | 93 ms | 108036 KiB |
| 02_handmade_02.txt | AC | 94 ms | 107892 KiB |
| 02_handmade_03.txt | AC | 66 ms | 77092 KiB |
| 02_handmade_04.txt | AC | 66 ms | 76832 KiB |
| 02_handmade_05.txt | AC | 66 ms | 76584 KiB |