Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: NovemNotes
Problemset: ความหลากหลาย
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-17 10:58:51
#include <bits/stdc++.h>
using namespace std;
const int N = 59;
int n,m,ans=0;
int tab[N][N];
int sum[N][N][11];
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
cin >> n >> m;
set<int> s;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin >> tab[i][j];
int num = tab[i][j];
s.insert(num);
sum[i][j][num]++;
}
}
for(auto &num:s){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
sum[i][j][num]+=sum[i-1][j][num]+sum[i][j-1][num]-sum[i-1][j-1][num];
}
}
}
for(int i=1;i<=n-5+1;i++){
for(int j=1;j<=m-5+1;j++){
int x=i,y=j;
int nx = min(n,x+4),ny = min(m,y+4);
int cnt=0;
for(int num=0;num<=9;num++){
int mat = sum[nx][ny][num] - sum[x-1][ny][num] - sum[nx][y-1][num] + sum[x-1][y-1][num];
if(mat>0)cnt++;
}
if(cnt>=5)ans++;
}
}
cout << ans << "\n";
return 0;
}