Submission #48139371
Source Code Expand
Copy
N,Q = gets.split.map(&:to_i)BW = N.times.map{ gets.chomp.bytes.map{|b| 1-(b&1) }*2 }*2S1 = BW.sum(&:sum)/4S = BW.map{|r| r.inject([0]){|s,b| s<<s[-1]+b } }.inject([[0]*(N+N+1)]){|s,r|s<<s[-1].zip(r).map(&:sum)}T = lambda{|h,w|s = (h/N)*(w/N)*S[N][N]s += (w/N)*S[h%N][N]s += (h/N)*S[N][w%N]s += S[h%N][w%N]next s}F = lambda{|i,j,h,w|T[i+h,j+w]-T[i,j+w]-T[i+h,j]+T[i,j]}puts Q.times.map{i0,j0,i1,j1 = gets.split.map(&:to_i)h = i1-i0+1w = j1-j0+1next F[i0%N,j0%N,h,w]
N,Q = gets.split.map(&:to_i) BW = N.times.map{ gets.chomp.bytes.map{|b| 1-(b&1) }*2 }*2 S1 = BW.sum(&:sum)/4 S = BW.map{|r| r.inject([0]){|s,b| s<<s[-1]+b } }.inject([[0]*(N+N+1)]){|s,r| s<<s[-1].zip(r).map(&:sum) } T = lambda{|h,w| s = (h/N)*(w/N)*S[N][N] s += (w/N)*S[h%N][N] s += (h/N)*S[N][w%N] s += S[h%N][w%N] next s } F = lambda{|i,j,h,w| T[i+h,j+w]-T[i,j+w]-T[i+h,j]+T[i,j] } puts Q.times.map{ i0,j0,i1,j1 = gets.split.map(&:to_i) h = i1-i0+1 w = j1-j0+1 next F[i0%N,j0%N,h,w] }
Submission Info
Submission Time | |
---|---|
Task | D - Tile Pattern |
User | ds14050 |
Language | Ruby (ruby 3.2.2) |
Score | 450 |
Code Size | 520 Byte |
Status | AC |
Exec Time | 1188 ms |
Memory | 113652 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 450 / 450 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 01_corner_00.txt, 01_corner_01.txt, 01_corner_02.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 03_max_00.txt, 03_max_01.txt, 04_n_small_00.txt, 04_n_small_01.txt, 04_n_small_02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 42 ms | 17300 KB |
00_sample_01.txt | AC | 42 ms | 17216 KB |
01_corner_00.txt | AC | 466 ms | 19956 KB |
01_corner_01.txt | AC | 42 ms | 16812 KB |
01_corner_02.txt | AC | 43 ms | 17096 KB |
02_random_00.txt | AC | 506 ms | 34440 KB |
02_random_01.txt | AC | 371 ms | 35576 KB |
02_random_02.txt | AC | 276 ms | 22196 KB |
02_random_03.txt | AC | 184 ms | 22120 KB |
02_random_04.txt | AC | 468 ms | 58348 KB |
02_random_05.txt | AC | 640 ms | 53936 KB |
03_max_00.txt | AC | 1182 ms | 113652 KB |
03_max_01.txt | AC | 1188 ms | 113580 KB |
04_n_small_00.txt | AC | 427 ms | 19364 KB |
04_n_small_01.txt | AC | 429 ms | 19536 KB |
04_n_small_02.txt | AC | 428 ms | 19664 KB |