This documentation is automatically generated by competitive-verifier/competitive-verifier
// @brief Longest Increasing Subsequence
#define PROBLEM "https://judge.yosupo.jp/problem/longest_increasing_subsequence"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include "cp-algo/structures/fenwick.hpp"
#include "cp-algo/util/compress_coords.hpp"
#include <bits/stdc++.h>
using namespace std;
void solve() {
int n;
cin >> n;
cp_algo::big_vector<reference_wrapper<int>> coords;
cp_algo::big_vector<int> a(n);
for(auto &it: a) {
cin >> it;
coords.push_back(ref(it));
}
auto b = cp_algo::compress_coords(coords);
struct longest {
int len = 0, last = 0;
auto operator <=>(longest const&) const = default;
};
cp_algo::structures::fenwick_max me(cp_algo::big_vector<longest>(n + 1));
cp_algo::big_vector<int> pre(n);
for(auto [i, it]: a | views::enumerate) {
auto [len, last] = me.prefix_fold(it);
me.update(it, {len + 1, (int)i});
pre[i] = last;
}
auto [len, last] = me.prefix_fold(n);
cout << len << '\n';
cp_algo::big_vector<int> ans(len);
while(len--) {
ans[len] = last;
last = pre[last];
}
for(auto it: ans) {
cout << it << ' ';
}
}
signed main() {
//freopen("input.txt", "r", stdin);
ios::sync_with_stdio(0);
cin.tie(0);
int t;
t = 1;// cin >> t;
while(t--) {
solve();
}
}
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, 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 252, in bundle
bundler.update(path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 327, in update
assert len(lines) == len(uncommented_lines)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | example_00 |
|
5 ms | 4 MB |
| g++ | example_01 |
|
4 ms | 4 MB |
| g++ | hand_max_00 |
|
77 ms | 19 MB |
| g++ | hand_min_00 |
|
59 ms | 18 MB |
| g++ | max_random_00 |
|
92 ms | 18 MB |
| g++ | max_random_01 |
|
93 ms | 18 MB |
| g++ | max_random_02 |
|
92 ms | 17 MB |
| g++ | max_random_03 |
|
92 ms | 17 MB |
| g++ | max_random_04 |
|
91 ms | 17 MB |
| g++ | random_00 |
|
74 ms | 14 MB |
| g++ | random_01 |
|
85 ms | 16 MB |
| g++ | random_02 |
|
14 ms | 5 MB |
| g++ | random_03 |
|
82 ms | 16 MB |
| g++ | random_04 |
|
55 ms | 12 MB |
| g++ | small_00 |
|
5 ms | 4 MB |
| g++ | small_01 |
|
4 ms | 4 MB |
| g++ | small_02 |
|
4 ms | 4 MB |
| g++ | small_03 |
|
4 ms | 4 MB |
| g++ | small_04 |
|
4 ms | 4 MB |