QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#818073#8340. 3 SumKowerKoint#TL 15ms10524kbPython3546b2024-12-17 16:12:072024-12-17 16:12:13

Judging History

你现在查看的是最新测评结果

  • [2024-12-17 16:12:13]
  • 评测
  • 测评结果:TL
  • 用时:15ms
  • 内存:10524kb
  • [2024-12-17 16:12:07]
  • 提交

answer

from collections import defaultdict

N,K=map(int,input().split())
M=10**K-1
A=[int(input()) for a in range(N)]
B=[a%M for a in A]
mod0=(1<<61)-1
mod1=(10**9+7)*998244353
ans=0
for D in (M,2*M):
    B0=[a%mod0 for a in B]
    B1=[a%mod1 for a in B]
    D0=D%mod0
    D1=D%mod1
    dct=defaultdict(int)
    for j in range(N):
        dct[(B0[j],B1[j])]+=1
        for k in range(j,N):
            a0,a1=B0[j]+B0[k],B1[j]+B1[k]
            ans+=dct[(D-a0)%mod0,(D-a1)%mod1]
cnt=A.count(0)
ans+=cnt*(cnt+1)*(cnt+2)//6
print(ans)

詳細信息

Test #1:

score: 100
Accepted
time: 15ms
memory: 10524kb

input:

4 1
0
1
10
17

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: -100
Time Limit Exceeded

input:

500 859
7118711592236878297922359501613604144948355616986970837340677671376753603836852811886591300370143151943368529129749813118476151865844255212534355441611481420938483178075143062691345257288242460282715389758789648541099090735875617822348551942134616963557723055980260082230902505269975518146286...

output:


result: