Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: dddrrrr

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-16 21:22:08

#include <bits/stdc++.h>
using namespace std;

bool isvalid(vector <int>& table){
	int chk=0;
	for(int i=0 ;i<10 ;i++){
		if(table[i] > 0)chk++;
	}
	if(chk >= 5)return true;
	else return false;
}

int main(){
	cin.tie(0)->sync_with_stdio(0);
	cout.tie(0)->sync_with_stdio(0);
	
	int n ,m;
	cin >> n >> m;
	
	vector <vector <int>> vec(n ,vector <int>(m ,4));
	for(int i=0 ;i<n ;i++){
		for(int j=0 ;j<m ;j++){
			cin >> vec[i][j];
		}
	}
	
	
	int ans=0;
	for(int i=0 ;i+5<=n ;i++){
		
		vector <int> table(10 ,0);
		for(int j=i ;j<i+5 ;j++){
			for(int k=0 ;k<5 ;k++){
				table[vec[j][k]]++;
			}
		}
		
		for(int j=0 ;j+5<=m ;j++){
			if(isvalid(table))ans++;
			if(j+5 < m){
				for(int k=i ;k<i+5 ;k++){
					table[vec[k][j]]--;
					table[vec[k][j+5]]++;	
				}
			}	
		}
	}
	
	cout << ans;
	
	return 0; 
}