Submission #588294
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
#define sum(_r1,_r2,_c1,_c2,_wa) (_wa[_r2][_c2]+_wa[_r1-1][_c1-1]-_wa[_r2][_c1-1]-_wa[_r1-1][_c2])
#define sum2(_r1,_r2,_c1,_c2,_wa,i) (_wa[_r2][_c2][i]+_wa[_r1-1][_c1-1][i]-_wa[_r2][_c1-1][i]-_wa[_r1-1][_c2][i])
int main() {
int R,C,K;
cin>>R>>C>>K;
vector<string> S(R);
for(auto& it : S)cin>>it;
VV wa(R+1,V(C+1,0));
VVV num(R+1,VV(C+1,V(10,0)));
{
for(int r = 0; r < R; r++)
for(int c = 0; c < C; c++){
wa[r+1][c+1]=S[r][c]-'0';
num[r+1][c+1][wa[r+1][c+1]]=1;
}
for(int r = 1; r <= R; r++)
for(int c = 1; c <= C; c++){
wa[r][c]+=wa[r][c-1]+wa[r-1][c]-wa[r-1][c-1];
for(int i = 0; i < 10; i++){
num[r][c][i]+=num[r][c-1][i]+num[r-1][c][i]-num[r-1][c-1][i];
}
}
}
LL res=0;
for(int r1 = 1; r1 <= R; r1++)
for(int r2 = r1+2; r2 <= R; r2++)
for(int c1 = 1; c1 <= C-2; c1++){
int c2=c1+2;
if(sum(r1,r2,c1,c2,wa)-K<=0){
if(sum(r1,r2,c1,C,wa)-K<=0)break;;
int bottom=c1+2,top=C;
while(top-bottom>1){
int m=(top+bottom)>>1;
if(sum(r1,r2,c1,m,wa)-K>=0)top=m;
else bottom=m;
}
c2=top;
}
for(; c2 <= C; c2++){
int sa=sum(r1,r2,c1,c2,wa)-K;
if(sa>=10)break;
res+=sum2(r1+1,r2-1,c1+1,c2-1,num,sa);
}
}
cout<<res<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
H - 穴あきケーキ |
User |
btk15049 |
Language |
C++11 (GCC 4.9.2) |
Score |
100 |
Code Size |
1873 Byte |
Status |
AC |
Exec Time |
919 ms |
Memory |
10300 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
All |
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 |
Case Name |
Status |
Exec Time |
Memory |
sample-01.txt |
AC |
28 ms |
924 KB |
sample-02.txt |
AC |
27 ms |
924 KB |
sample-03.txt |
AC |
28 ms |
920 KB |
sample-04.txt |
AC |
26 ms |
788 KB |
test-01.txt |
AC |
28 ms |
1044 KB |
test-02.txt |
AC |
27 ms |
1048 KB |
test-03.txt |
AC |
28 ms |
1044 KB |
test-04.txt |
AC |
46 ms |
1820 KB |
test-05.txt |
AC |
54 ms |
2648 KB |
test-06.txt |
AC |
34 ms |
2448 KB |
test-07.txt |
AC |
83 ms |
3124 KB |
test-08.txt |
AC |
110 ms |
3128 KB |
test-09.txt |
AC |
38 ms |
3172 KB |
test-10.txt |
AC |
136 ms |
3212 KB |
test-11.txt |
AC |
210 ms |
5528 KB |
test-12.txt |
AC |
90 ms |
5536 KB |
test-13.txt |
AC |
368 ms |
7376 KB |
test-14.txt |
AC |
423 ms |
6576 KB |
test-15.txt |
AC |
571 ms |
7736 KB |
test-16.txt |
AC |
665 ms |
10264 KB |
test-17.txt |
AC |
119 ms |
10164 KB |
test-18.txt |
AC |
919 ms |
10280 KB |
test-19.txt |
AC |
489 ms |
10164 KB |
test-20.txt |
AC |
215 ms |
10264 KB |
test-21.txt |
AC |
663 ms |
10168 KB |
test-22.txt |
AC |
113 ms |
10260 KB |
test-23.txt |
AC |
881 ms |
10296 KB |
test-24.txt |
AC |
141 ms |
10292 KB |
test-25.txt |
AC |
93 ms |
10164 KB |
test-26.txt |
AC |
851 ms |
10164 KB |
test-27.txt |
AC |
708 ms |
10300 KB |