# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
777625 | tch1cherin | Two Currencies (JOI23_currencies) | C++17 | 570 ms | 42136 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.
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt,fma")
#include <bits/stdc++.h>
using namespace std;
const int L = 18;
struct RMQ {
vector<int> val;
array<vector<int>, L> dp;
int min(int i, int j) {
return val[i] < val[j] ? i : j;
}
RMQ(vector<int> a) : val(a) {
for (int i = 0; i < L; i++) {
dp[i].resize(a.size());
}
iota(dp[0].begin(), dp[0].end(), 0);
for (int i = 0; i < L - 1; i++) {
for (int j = 0; j + (2 << i) <= (int)a.size(); j++) {
dp[i + 1][j] = min(dp[i][j], dp[i][j + (1 << i)]);
}
}
}
int query(int l, int r) {
int t = __lg(r - l);
return min(dp[t][l], dp[t][r - (1 << t)]);
# | 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... |