Submission #76454641


Source Code Expand

#include <bits/stdc++.h>
#define int long long
#define ll long long
#define ull unsigned long long
#define inf 1e18
#define eps 1e-9
#define endl "\n"
#define il inline
#define ls 2*k
#define rs 2*k+1
using namespace std;
const int N=505,M=2505;
const int mod=1e9+7;
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x*f;
}
int n,m,k;
int sum[N][N];
string s[N];
inline int calc(int a,int b,int c,int d){
	return (sum[b][d]-sum[b][c-1]-sum[a-1][d]+sum[a-1][c-1]);
}
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	int tc=1;
	while(tc--){
        cin>>n>>m>>k;
        for(int i=1;i<=n;i++)
        	cin>>s[i],s[i]=" "+s[i];
        for(int i=1;i<=n;i++)
        	for(int j=1;j<=m;j++)
        		sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+(s[i][j]-'0');
        int ans=0;
        for(int i=1;i<=n;i++){
        	for(int j=i;j<=n;j++){
        		int pos=1,r=1;
        		for(int x=1;x<=m;x++){
        			if(pos<x) pos=x; 
        			while(calc(i,j,x,pos)<k && pos<=m) ++pos;
        			if(r<pos) r=pos;
        			while(calc(i,j,x,r)<=k && r<=m) ++r;
        			ans=ans+r-pos;
				}
			}
		}
		cout<<ans<<'\n';
	}
	return 0;
}
/*

*/

Submission Info

Submission Time
Task D - Count Subgrid Sum = K
User Limingxuan
Language C++23 (GCC 15.2.0)
Score 425
Code Size 1376 Byte
Status AC
Exec Time 385 ms
Memory 5956 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 1 ms 3604 KiB
sample_02.txt AC 1 ms 3648 KiB
sample_03.txt AC 1 ms 3660 KiB
test_01.txt AC 1 ms 3604 KiB
test_02.txt AC 1 ms 3620 KiB
test_03.txt AC 1 ms 3632 KiB
test_04.txt AC 1 ms 3704 KiB
test_05.txt AC 126 ms 5956 KiB
test_06.txt AC 127 ms 5780 KiB
test_07.txt AC 98 ms 5796 KiB
test_08.txt AC 128 ms 5836 KiB
test_09.txt AC 132 ms 5880 KiB
test_10.txt AC 135 ms 5836 KiB
test_11.txt AC 127 ms 5796 KiB
test_12.txt AC 146 ms 5952 KiB
test_13.txt AC 168 ms 5844 KiB
test_14.txt AC 129 ms 5956 KiB
test_15.txt AC 130 ms 5868 KiB
test_16.txt AC 185 ms 5884 KiB
test_17.txt AC 385 ms 5780 KiB
test_18.txt AC 131 ms 5908 KiB
test_19.txt AC 127 ms 5880 KiB
test_20.txt AC 296 ms 5908 KiB
test_21.txt AC 182 ms 5780 KiB
test_22.txt AC 128 ms 5796 KiB
test_23.txt AC 126 ms 5880 KiB
test_24.txt AC 218 ms 5884 KiB
test_25.txt AC 134 ms 5796 KiB
test_26.txt AC 126 ms 5832 KiB
test_27.txt AC 133 ms 5884 KiB
test_28.txt AC 126 ms 5836 KiB