# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
795908 | erray | Two Currencies (JOI23_currencies) | C++17 | 340 ms | 47136 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
// author: erray
#include <bits/stdc++.h>
#ifdef DEBUG
#include "debug.h"
#else
#define debug(...) void(37)
#endif
using namespace std;
template<typename T, typename F = function<T(const T&, const T&)>>
struct SparseTable {
vector<vector<T>> a;
int n;
F op;
SparseTable() { }
SparseTable(vector<T> _a, F _op) : op(_op) {
n = int(_a.size());
int lg = 32 - __builtin_clz(n);
a.resize(lg);
a[0] = _a;
for (int j = 1; j < lg; ++j) {
int size = n - (1 << j) + 1;
a[j].resize(size);
for (int i = 0; i < size; ++i) {
a[j][i] = op(a[j - 1][i], a[j - 1][i + ((1 << (j - 1)))]);
}
}
}
# | 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... |