又是个模拟水题,考虑边界就好,连long long都不用开。
——代码

1 #include <cstdio> 2 #include <iostream> 3 4 int n, d, ans, max; 5 int a[201][201]; 6 7 inline int read() 8 { 9 int x = 0, f = 1; 10 char ch = getchar(); 11 for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1; 12 for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0'; 13 return x * f; 14 } 15 16 int main() 17 { 18 int i, j, x, y, sum; 19 d = read(); 20 n = read(); 21 for(i = 1; i <= n; i++) 22 { 23 x = read(); 24 y = read(); 25 a[x][y] = read(); 26 } 27 for(i = 0; i <= 128; i++) 28 for(j = 0; j <= 128; j++) 29 { 30 sum = 0; 31 for(x = i - d; x <= i + d; x++) 32 for(y = j - d; y <= j + d; y++) 33 if(x >= 0 && x <= 128 && y >= 0 && y <= 128) 34 sum += a[x][y]; 35 if(sum > max) 36 { 37 max = sum; 38 ans = 1; 39 } 40 else if(sum == max) ans++; 41 } 42 printf("%d %d ", ans, max); 43 return 0; 44 }