Submission

Status:
PPPPPPPPPP

Score: 100

User: njoop

Problemset: ความหลากหลาย

Language: cpp

Time: 0.003 second

Submitted On: 2024-11-26 18:21:59

#include <bits/stdc++.h>

using namespace std;

int n, m, arr[12][60][60], dive[60][60], ans;

int main() {
    cin >> n >> m;
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=m; j++) {
            int in;
            cin >> in;
            arr[in][i][j]++;
        }
    }
    for(int k=0; k<10; k++) {
        for(int i=1; i<=n; i++) {
            for(int j=1; j<=m; j++) {
                arr[k][i][j] += arr[k][i-1][j] + arr[k][i][j-1] - arr[k][i-1][j-1];
            }
        }
    }
    for(int i=5; i<=n; i++) {
        for(int j=5; j<=m; j++) {
            for(int k=0; k<=9; k++) {
                if(arr[k][i][j] - arr[k][i][j-5] - arr[k][i-5][j] + arr[k][i-5][j-5]) {
                    dive[i][j]++;
                }
            }
            if(dive[i][j] >= 5) {
                ans++;
            }
        }
    }
    cout << ans;
    return 0;
}