Submission #76475752


Source Code Expand

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        
        int H = Integer.parseInt(st.nextToken());
        int W = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());
        
        int[][] grid = new int[H][W];
        for (int i = 0; i < H; i++) {
            String line = br.readLine();
            for (int j = 0; j < W; j++) {
                grid[i][j] = line.charAt(j) - '0';
            }
        }
        
        int[][] vsum = new int[H][W];
        for (int j = 0; j < W; j++) {
            vsum[0][j] = grid[0][j];
            for (int i = 1; i < H; i++) {
                vsum[i][j] = vsum[i-1][j] + grid[i][j];
            }
        }
        
        long count = 0;
        
        
        for (int r1 = 0; r1 < H; r1++) {
            for (int r2 = r1; r2 < H; r2++) {
        
                HashMap<Integer, Integer> freq = new HashMap<>();
                freq.put(0, 1);
                int prefSum = 0;
                
                for (int j = 0; j < W; j++) {
                    int colVal = vsum[r2][j] - (r1 > 0 ? vsum[r1-1][j] : 0);
                    prefSum += colVal;
                    
                    count += freq.getOrDefault(prefSum - K, 0);
                    
                    freq.put(prefSum, freq.getOrDefault(prefSum, 0) + 1);
                }
            }
        }
        
        System.out.println(count);
    }
}

Submission Info

Submission Time
Task D - Count Subgrid Sum = K
User jayeshsolanki
Language Java24 (OpenJDK 24.0.2)
Score 425
Code Size 1697 Byte
Status AC
Exec Time 3369 ms
Memory 63992 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 425 / 425
Status
AC × 3
AC × 31
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt
Case Name Status Exec Time Memory
sample_01.txt AC 45 ms 37768 KiB
sample_02.txt AC 37 ms 37628 KiB
sample_03.txt AC 40 ms 38012 KiB
test_01.txt AC 36 ms 37832 KiB
test_02.txt AC 36 ms 37868 KiB
test_03.txt AC 35 ms 37604 KiB
test_04.txt AC 35 ms 37624 KiB
test_05.txt AC 848 ms 60596 KiB
test_06.txt AC 943 ms 62392 KiB
test_07.txt AC 1731 ms 62452 KiB
test_08.txt AC 1820 ms 63016 KiB
test_09.txt AC 849 ms 60808 KiB
test_10.txt AC 850 ms 60968 KiB
test_11.txt AC 928 ms 60620 KiB
test_12.txt AC 868 ms 60952 KiB
test_13.txt AC 968 ms 61024 KiB
test_14.txt AC 1121 ms 60704 KiB
test_15.txt AC 1028 ms 63992 KiB
test_16.txt AC 1014 ms 61052 KiB
test_17.txt AC 2112 ms 60652 KiB
test_18.txt AC 2843 ms 60776 KiB
test_19.txt AC 1430 ms 60628 KiB
test_20.txt AC 1707 ms 60976 KiB
test_21.txt AC 3369 ms 60860 KiB
test_22.txt AC 3318 ms 60176 KiB
test_23.txt AC 3157 ms 60020 KiB
test_24.txt AC 3353 ms 60176 KiB
test_25.txt AC 856 ms 60988 KiB
test_26.txt AC 852 ms 61092 KiB
test_27.txt AC 862 ms 61112 KiB
test_28.txt AC 856 ms 60872 KiB