| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1211611 | alwaus424 | Global Warming (CEOI18_glo) | C++20 | 63 ms | 1864 KiB |
#include <bits/stdc++.h>
using namespace std;
int lis(vector<int> const& a) {
int n = a.size();
const int INF = 1e9;
vector<int> d(n + 1, INF);
d[0] = -INF;
for (int i = 0; i < n; i++) {
// Use lower_bound for non-decreasing LIS
int l = upper_bound(d.begin(), d.end(), a[i]) - d.begin();
if (d[l - 1] < a[i] && a[i] < d[l])
d[l] = a[i];
}
int ans = 0;
for (int l = 0; l <= n; l++) {
if (d[l] < INF)
ans = l;
}
return ans;
}
int main() {
int n,x;
cin >> n>>x;
vector<int> v(n);
for (int i = 0; i < n; i++) cin >> v[i];
cout << lis(v) << endl;
return 0;
}
| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
