三重循环就可以枚举成功
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <string>
#include <iostream>
#include <stack>
#include <math.h>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <map>
#include <string>
#include <stdlib.h>
#include <vector>
#include <queue>
using namespace std;
int d,n;
struct node
{
int xx,yy,nnum;
};
node trash[25];
int sum[1025][1025];
int MAX=0,MAXI,MAXJ;
int main()
{
memset(sum,0,sizeof(sum));
cin >> d;
cin >> n;
for(int i=0;i<n;i++)
{
int x,y,num;
cin >> x >> y >>num;
trash[i].xx=x;trash[i].yy=y;trash[i].nnum=num;
}
for(int i=0;i<=1024;i++)
for(int j=0;j<=1024;j++)
{
for(int k=0;k<n;k++)
{
if(((trash[k].xx)>=i-d)&&((trash[k].xx)<=i+d)&&((trash[k].yy)>=j-d)&&((trash[k].yy)<=j+d))
sum[i][j]+=(trash[k].nnum);
}
MAX = max(sum[i][j],MAX);
}
int num=0;
for(int i=0;i<=1024;i++)
for(int j=0;j<=1024;j++)
if(sum[i][j]==MAX)
num++;
cout<<num<<" "<<MAX<<endl;
return 0;
}