This documentation is automatically generated by competitive-verifier/competitive-verifier
// clang-format off
// competitive-verifier: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_D
// clang-format on
#include <iostream>
#include <vector>
#include "../../dp/longest-increasing-subsequence.hpp"
using namespace std;
int main() {
int N;
cin >> N;
vector<int> A(N);
for (int& a : A) cin >> a;
cout << longest_increasing_subsequence(A, true) << endl;
}
#line 1 "test/verify/aoj-dpl-1-d.test.cpp"
// clang-format off
// competitive-verifier: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_D
// clang-format on
#include <iostream>
#include <vector>
#line 2 "dp/longest-increasing-subsequence.hpp"
#include <algorithm>
#include <cstddef>
#line 6 "dp/longest-increasing-subsequence.hpp"
template <typename T>
std::size_t longest_increasing_subsequence(const std::vector<T>& a,
bool strict) {
std::vector<T> lis;
for (auto& p : a) {
typename std::vector<T>::iterator it;
if (strict)
it = std::lower_bound(lis.begin(), lis.end(), p);
else
it = std::upper_bound(lis.begin(), lis.end(), p);
if (lis.end() == it)
lis.emplace_back(p);
else
*it = p;
}
return lis.size();
}
#line 9 "test/verify/aoj-dpl-1-d.test.cpp"
using namespace std;
int main() {
int N;
cin >> N;
vector<int> A(N);
for (int& a : A) cin >> a;
cout << longest_increasing_subsequence(A, true) << endl;
}
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | 00_sample_00 |
|
2 ms | 4 MB |
| g++ | 00_sample_01 |
|
2 ms | 4 MB |
| g++ | 01_small_00 |
|
2 ms | 4 MB |
| g++ | 01_small_01 |
|
2 ms | 4 MB |
| g++ | 01_small_02 |
|
2 ms | 4 MB |
| g++ | 01_small_03 |
|
2 ms | 4 MB |
| g++ | 01_small_04 |
|
2 ms | 4 MB |
| g++ | 01_small_05 |
|
2 ms | 4 MB |
| g++ | 01_small_06 |
|
2 ms | 4 MB |
| g++ | 01_small_07 |
|
2 ms | 4 MB |
| g++ | 02_rand_00 |
|
2 ms | 4 MB |
| g++ | 02_rand_01 |
|
2 ms | 4 MB |
| g++ | 02_rand_02 |
|
2 ms | 4 MB |
| g++ | 02_rand_03 |
|
2 ms | 4 MB |
| g++ | 03_linear_00 |
|
2 ms | 4 MB |
| g++ | 03_linear_01 |
|
2 ms | 4 MB |
| g++ | 03_linear_03 |
|
2 ms | 4 MB |
| g++ | 03_linear_04 |
|
2 ms | 4 MB |
| g++ | 04_critical_00 |
|
3 ms | 4 MB |
| g++ | 04_critical_01 |
|
3 ms | 4 MB |
| g++ | 04_critical_02 |
|
3 ms | 4 MB |
| g++ | 04_critical_03 |
|
3 ms | 4 MB |
| g++ | 05_maximum_00 |
|
10 ms | 4 MB |
| g++ | 05_maximum_01 |
|
11 ms | 4 MB |
| g++ | 05_maximum_02 |
|
14 ms | 4 MB |
| g++ | 05_maximum_03 |
|
18 ms | 4 MB |
| g++ | 05_maximum_04 |
|
21 ms | 4 MB |
| g++ | 05_maximum_05 |
|
26 ms | 4 MB |
| g++ | 05_maximum_06 |
|
24 ms | 4 MB |
| g++ | 05_maximum_07 |
|
23 ms | 4 MB |
| clang++ | 00_sample_00 |
|
2 ms | 4 MB |
| clang++ | 00_sample_01 |
|
2 ms | 4 MB |
| clang++ | 01_small_00 |
|
2 ms | 4 MB |
| clang++ | 01_small_01 |
|
2 ms | 4 MB |
| clang++ | 01_small_02 |
|
2 ms | 4 MB |
| clang++ | 01_small_03 |
|
2 ms | 4 MB |
| clang++ | 01_small_04 |
|
2 ms | 4 MB |
| clang++ | 01_small_05 |
|
2 ms | 4 MB |
| clang++ | 01_small_06 |
|
2 ms | 4 MB |
| clang++ | 01_small_07 |
|
2 ms | 4 MB |
| clang++ | 02_rand_00 |
|
2 ms | 4 MB |
| clang++ | 02_rand_01 |
|
2 ms | 4 MB |
| clang++ | 02_rand_02 |
|
2 ms | 4 MB |
| clang++ | 02_rand_03 |
|
2 ms | 4 MB |
| clang++ | 03_linear_00 |
|
2 ms | 4 MB |
| clang++ | 03_linear_01 |
|
2 ms | 4 MB |
| clang++ | 03_linear_03 |
|
2 ms | 4 MB |
| clang++ | 03_linear_04 |
|
2 ms | 4 MB |
| clang++ | 04_critical_00 |
|
3 ms | 4 MB |
| clang++ | 04_critical_01 |
|
4 ms | 4 MB |
| clang++ | 04_critical_02 |
|
3 ms | 4 MB |
| clang++ | 04_critical_03 |
|
3 ms | 4 MB |
| clang++ | 05_maximum_00 |
|
10 ms | 4 MB |
| clang++ | 05_maximum_01 |
|
11 ms | 4 MB |
| clang++ | 05_maximum_02 |
|
12 ms | 4 MB |
| clang++ | 05_maximum_03 |
|
16 ms | 4 MB |
| clang++ | 05_maximum_04 |
|
18 ms | 4 MB |
| clang++ | 05_maximum_05 |
|
24 ms | 4 MB |
| clang++ | 05_maximum_06 |
|
28 ms | 4 MB |
| clang++ | 05_maximum_07 |
|
24 ms | 4 MB |