求条
查看原帖
求条
1034698
jzy_CSPJ_AK楼主2024/12/14 11:59
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 200;
int d, n, x, y, z, a[N][N], f[N][N];
signed main(){
    ios::sync_with_stdio(false);cin.tie(0);
    cin >> d >> n;d *= 2;
    for(int i = 1;i <= n;i ++){
        cin >> x >> y >> z;
        a[x + 20][y + 20] = z;
    }
    for(int i = 21;i <= 148;i ++){
        for(int j = 21;j <= 148; j++){
            f[i][j] = a[i][j] + f[i - 1][j] + f[i][j - 1] - f[i - 1][j - 1];
        }
    }
    int maxn = 0;
    for(int i = 21;i <= 148; i++){
        for(int j = 21; j <= 148; j ++){
            int xx = i - d -1, yy = j - d - 1;
            int h = f[i][j] + f[xx][yy] - f[i][yy] - f[xx][j];
            maxn = max(maxn, h);
        }
    }
    int ans = 0;
    for(int i = 21;i <= 148; i++){
        for(int j = 21; j <= 148; j ++){
            int xx = i - d - 1, yy = j - d - 1;
            int h = f[i][j] + f[xx][yy] - f[i][yy] - f[xx][j];
            if(maxn == h && (i - d/2)>= 20 && (j - d/2)>= 20 && (i - d/2) <= 148 && (j - d/2) <= 148){
                ans ++;
            }
            
        }
    }
    cout << ans << " " << maxn;
    return 0;
}

70分,炸了,求条

2024/12/14 11:59
加载中...