如果用%lld读入int会怎么样?
查看原帖
如果用%lld读入int会怎么样?
574944
Micnation_AFO楼主2021/11/12 13:36

rt,wssb,看见空间比较紧之后就注释了#define int long long,结果读入的时候scanf写的还是%lld,结果本地一直过不了样例。

调试的时候发现读入的 xxyy 全部都变成了 00,可是我一开始读入的 nnmm 却都是对的,所以用%lld读入int型到底会怎么变?

%lld错误的代码):

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

//#define int long long
#define maxn 5005
#define max(a, b) a > b ? a : b
int n, m, ans = 0;
int s[maxn + 1][maxn + 1];

signed main() {
    scanf("%lld%lld", &n, &m);
    for (int i = 1; i <= n; i++) {
        int x, y, v;
        scanf("%lld%lld%lld", &x, &y, &v);
        s[x + 1][y + 1] += v;
    }
    for (int i = 2; i <= maxn; i++) s[1][i] += s[1][i - 1], s[i][1] += s[i - 1][1];
    for (int i = 2; i <= maxn; i++) 
        for (int j = 2; j <= maxn; j++) s[i][j] += s[i][j - 1] + s[i - 1][j] - s[i - 1][j - 1];
    for (int i = maxn; i >= m; i--)
        for (int j = maxn; j >= m; j--)
            ans = max(ans, s[i][j] - s[i][j - m] - s[i - m][j] + s[i - m][j - m]);
    cout << ans << endl;
    return 0;
}
2021/11/12 13:36
加载中...