P9713 题解
FurippuWRY · · 题解
按题意模拟。
设体积为
对于三个方向,分别设一个变量
每切除一部分的蛋糕,就更新一次变量。若
对于不同的
若
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a, b, c, m, op, k, v, x, y, z;
signed main() {
cin >> a >> b >> c >> m;
v = a * b * c;
for (int i = 0; i < m; ++i) {
cin >> op >> k;
if (op == 1) {
if (k < x) {
cout << v << '\n';
continue;
}
else{
v -= (k - x) * (b - y) * (c - z);
x = max (x, k);
}
}
if (op == 2) {
if (k < y) {
cout << v << '\n';
continue;
}
else{
v -= (k - y) * (a - x) * (c - z);
y = max (y, k);
}
}
if (op == 3) {
if (k < z) {
cout << v << '\n';
continue;
}
else{
v -= (k - z) * (b - y) * (a - x);
z = max (z, k);
}
}
cout << v << '\n';
}
return 0;
}