Submission #43073937


Source Code Expand

N,K,*A = $<.read.split.map(&:to_i)
K1 = K-1

T = Hash.new 0
s = 0
A[0,K1].each_with_index{|a,i|
	s = (s+a)%K
	t = (s-i)%K
	T[t] += 1
}
r = 0
s = 0
k = A[0,K1].sum%K
A.each_with_index{|a,i|
	t = (s-i+1)%K
	r += T[t]

	s = (s+a)%K
	t = (s-i)%K
	T[t] -= 1

	if a = A[i+=K1]
		k = (k+a)%K
		t = (k-i)%K
		T[t] += 1
	end
}

p r

Submission Info

Submission Time
Task E - Rem of Sum is Num
User ds14050
Language Ruby (2.7.1)
Score 500
Code Size 352 Byte
Status AC
Exec Time 224 ms
Memory 39416 KiB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 29
Set Name Test Cases
sample sample01, sample02, sample03
All few01, few02, few03, hand01, hand02, hand03, hand04, large01, large02, large03, max01, max02, max03, mid01, mid02, mid03, mid04, mid05, min01, min02, min03, sample01, sample02, sample03, small01, small02, small03, small04, small05
Case Name Status Exec Time Memory
few01 AC 168 ms 27612 KiB
few02 AC 174 ms 28712 KiB
few03 AC 178 ms 28588 KiB
hand01 AC 60 ms 14096 KiB
hand02 AC 167 ms 29276 KiB
hand03 AC 170 ms 29432 KiB
hand04 AC 175 ms 29336 KiB
large01 AC 208 ms 37584 KiB
large02 AC 224 ms 38880 KiB
large03 AC 221 ms 38428 KiB
max01 AC 221 ms 39416 KiB
max02 AC 221 ms 39200 KiB
max03 AC 218 ms 39228 KiB
mid01 AC 60 ms 14112 KiB
mid02 AC 57 ms 14132 KiB
mid03 AC 62 ms 14044 KiB
mid04 AC 61 ms 14288 KiB
mid05 AC 60 ms 14316 KiB
min01 AC 150 ms 25296 KiB
min02 AC 150 ms 24972 KiB
min03 AC 156 ms 25568 KiB
sample01 AC 56 ms 14160 KiB
sample02 AC 56 ms 14068 KiB
sample03 AC 56 ms 14148 KiB
small01 AC 60 ms 14208 KiB
small02 AC 59 ms 14016 KiB
small03 AC 60 ms 14056 KiB
small04 AC 60 ms 14240 KiB
small05 AC 59 ms 14048 KiB