Submission #673261

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
6732612022-12-20 03:59:34CyanmondDischarging (NOI20_discharging)C++17
100 / 100
931 ms248720 KiB
#include <bits/stdc++.h>
using i64 = long long;
constexpr i64 inf = 1ll << 60;
class SparseTable {
int n;
std::vector<int> log_table;
std::vector<std::vector<i64>> data;
public:
SparseTable(std::vector<i64> vec) : n(vec.size()) {
log_table.assign(n + 1, 0);
for (int i = 1; i <= n; ++i) {
log_table[i] = std::max(log_table[i], log_table[i - 1]);
if (2 * i <= n) {
log_table[2 * i] = log_table[i] + 1;
}
}
data.resize(log_table[n] + 1);
data[0] = vec;
for (int d = 1; d <= log_table[n]; ++d) {
const int w = 1 << d;
data[d].resize(n - w + 1);
for (int i = 0; i + w <= n; ++i) {
data[d][i] = std::max(data[d - 1][i], data[d - 1][i + w / 2]);
}
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...