Please can anyone tell me what is wrong in my code ?
#include<bits/stdc++.h>
using namespace std;
long long int a[1000][1000];
long long int mini=1e9;
long long int ans=0;
long long int temp=0;
void island(long long int i,long long int j,long long int n,long long int m)
{
if(i<0 || i>=n || j<0 || j>=m ||a[i][j]!=mini)
{
ans=max(ans,temp);
return;
}
temp++;
a[i][j]=0;
island(i+1,j,n,m);
island(i-1,j,n,m);
island(i,j+1,n,m);
island(i,j-1,n,m);
}
void find(long long int N,long long int M)
{
for(long long int i=0;i<N;i++)
{
for(long long int j=0;j<M;j++)
{
if(a[i][j]==mini)
{
island(i,j,N,M);
temp=0;
}
}
}
return;
}
int main()
{
long long int n,m;
cin>>n>>m;
for(long long int i=0;i<n;i++)
{
for(long long int j=0;j<m;j++)
{
a[i][j]=1;
if(a[i][j]<mini)
{
mini=a[i][j];
}
}
}
find(n,m);
cout<<mini<<" "<<ans;
}