#include <vector>
using int64 = long long;
std::vector<int64> mosaic(std::vector<int> X, std::vector<int> Y,
std::vector<int> T, std::vector<int> B,
std::vector<int> L, std::vector<int> R) {
const int N = X.size();
std::vector<int64> ans;
auto white = [&](int x, int y) { return (x + y) & 1; };
for (int i = 0; i < T.size(); ++i) {
int x1 = T[i] + 1, y1 = L[i] + 1, x2 = B[i] + 1, y2 = R[i] + 1;
if (x1 == 1) {
x1++;
}
if (y1 == 1) {
y1++;
}
if (x1 > x2 or y1 > y2) {
ans.push_back(0);
continue;
}
int64 ar = int64(y2 - y1 + 1) * (x2 - x1 + 1);
ans.push_back((ar + !(white(x1, y1) and white(x2, y2))) / 2);
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |