社区讨论
化圆为线
P2190小Z的车厢参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m2dgx1mv
- 此快照首次捕获于
- 2024/10/17 23:40 去年
- 此快照最后确认于
- 2025/11/04 16:57 4 个月前
CPP
#include <bits/stdc++.h>
#define foo(i, a, b) for (int i = a; i <= b; i++)
#define joo(i, a, b) for (int i = a; i >= b; i--)
#define mabs(a) ((a) < 0 ? (-(a)) : (a))
#define mceil(a, b) ((a - 1) / (b) + 1)
#define QwQ 0
typedef long long ll;
typedef double dob;
const int MAXN = 3e6 + 17; // 这里应该开3n还是2n??
//const int MAXM = ;
using namespace std;
int n, m, f[MAXN], q[MAXN];
int main() {
cin >> n >> m;
foo (i, 1, m) {
int x, y, z, ty = 0; cin >> x >> y >> z;
if (x <= y) {
f[x] += z; f[y] -= z; ty = y;
}else {
f[x] += z; f[y + n] -= z; ty = y + n;
}
f[x + n] += z; f[ty + n] -= z;
}
foo (i, 1, 3 * n) {
q[i] = q[i - 1] + f[i];
}
int maxx = -1;
foo (i, 1, 3 * n) {
maxx = max(maxx, q[i]);
}
cout << mceil(maxx, 36);
return QwQ;
}
画圆为线的下表最大值应该是 2n + p吧,开2n居然过了
回复
共 0 条回复,欢迎继续交流。
正在加载回复...