-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWorthy-Matrix.cpp
52 lines (44 loc) · 1.23 KB
/
Worthy-Matrix.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// https://www.codechef.com/APRIL21B/problems/KAVGMAT
#include <bits/stdc++.h>
#define lli long long int
using namespace std;
void solution() {
lli N, M, K, MYANS = 0; cin >> N >> M >> K;
lli MIND = min(N,M);
double Mat[N+1][M+1];
for (lli i=0; i <=N; i++) for (lli j=0; j<=M; j++) {
if (i==0 || j==0) {
Mat[i][j] = 0;
} else {
cin >> Mat[i][j];
}
}
for (lli i=0;i<=M; i++) {
double pre=0;
for (lli j=0; j<=N; j++) {
Mat[j][i]+=pre;
pre=Mat[j][i];
}
}
for (lli i=0;i<=N; i++) {
double pre=0;
for (lli j=0; j<=M; j++) {
Mat[i][j]+=pre;
pre=Mat[i][j];
}
}
for (lli l=1; l <=MIND; l++) for(lli i=l; i <=N; i++) for(lli j=l; j<=M; j++) {
if (((Mat[i][j]+Mat[i-l][j-l]-Mat[i][j-l]-Mat[i-l][j])/(l*l))>=K) {
MYANS++;
}
}
cout << MYANS << endl;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
long test; cin >> test;
while (test--) solution();
return 0;
}