This documentation is automatically generated by competitive-verifier/competitive-verifier
// competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/problems/ALDS1_14_D
#include <iostream>
#include <string>
#include "algorithm/binary_search.hpp"
#include "data_structure/linear_sparse_table.hpp"
#include "string/suffix_array.hpp"
template <class T>
struct Min {
using value_type = T;
static constexpr T id() { return std::numeric_limits<T>::max(); }
static constexpr T op(const T &lhs, const T &rhs) { return std::min(lhs, rhs); }
};
int main(void) {
std::string s;
std::cin >> s;
int n = s.size();
auto v = suffix_array(s);
auto lcp = lcp_array(s, v);
lcp.emplace(lcp.begin(), 0);
linear_sparse_table<Min<int>> st(lcp);
int q;
std::cin >> q;
while (q--) {
std::string t;
std::cin >> t;
int l = 0, x = 0;
auto f = [&](int m) {
if (st.prod(l, m + 1) > x) {
l = m + 1;
return false;
}
if (st.prod(l, m + 1) == x) {
for (int i = x; i < (int)t.size(); ++i) {
if (v[m] + i == (int)s.size() || s[v[m] + i] < t[i]) {
x = i;
l = m + 1;
return false;
} else if (s[v[m] + i] > t[i]) {
return true;
}
}
}
return true;
};
int ans = meguru_binary_search(n - 1, -1, f);
std::cout << (s.substr(v[ans], t.size()) == t) << '\n';
}
return 0;
}
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/resolver.py", line 291, in resolve
bundled_code = language.bundle(path, basedir=basedir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 242, in bundle
bundler.update(path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 479, in update
self._resolve(pathlib.Path(included), included_from=path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 286, in _resolve
raise BundleErrorAt(path, -1, "no such header")
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: algorithm/binary_search.hpp: line -1: no such header
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | 00_sample_00 |
|
3 ms | 4 MB |
| g++ | 01_small_00 |
|
2 ms | 4 MB |
| g++ | 01_small_01 |
|
2 ms | 4 MB |
| g++ | 02_rand_00 |
|
2 ms | 4 MB |
| g++ | 02_rand_01 |
|
3 ms | 4 MB |
| g++ | 02_rand_02 |
|
8 ms | 4 MB |
| g++ | 03_large_00 |
|
18 ms | 6 MB |
| g++ | 03_large_01 |
|
17 ms | 6 MB |
| g++ | 03_large_02 |
|
19 ms | 6 MB |
| g++ | 03_large_03 |
|
42 ms | 6 MB |
| g++ | 03_large_04 |
|
294 ms | 29 MB |
| g++ | 03_large_05 |
|
289 ms | 29 MB |
| g++ | 04_corner_00 |
|
3 ms | 4 MB |
| g++ | 04_corner_01 |
|
3 ms | 4 MB |
| g++ | 04_corner_02 |
|
257 ms | 29 MB |
| g++ | 04_corner_03 |
|
314 ms | 29 MB |
| g++ | 05_maximum_00 |
|
250 ms | 29 MB |
| g++ | 05_maximum_01 |
|
281 ms | 29 MB |