# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
241495 | mosesmayer | Vision Program (IOI19_vision) | C++17 | 1158 ms | 916260 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "vision.h"
#include <tuple>
using namespace std;
int H, W;
int coord(int i, int j) {
return i * W + j;
};
vector<int> get_cells(int D, bool dir) {
// dir is 1 if left diagonal (sum), 0 if right diagonal.
vector<int> res;
int start, stop, diff;
if (dir) {
start = D < W ? D : (D - W + 1) * W + (W - 1);
stop = D < H ? D * W : (H - 1) * W + (D - H + 1);
diff = W - 1;
} else {
start = D < W ? W - 1 - D : (D - W + 1) * W;
stop = D < H ? (D + 1) * W - 1 : H * W - 1 - (D - H + 1);
diff = W + 1;
}
for (; start <= stop; start += diff)
res.emplace_back(start);
return res;
}
void construct_diagonals(bool dir, vector<int>& orv, vector<int>& xorv) {
for (int i = 0; i <= H + W - 2; i++) {
# | 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... |