Submission #1211611

#TimeUsernameProblemLanguageResultExecution timeMemory
1211611alwaus424Global Warming (CEOI18_glo)C++20
10 / 100
63 ms1864 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 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...
#Verdict Execution timeMemoryGrader output
Fetching results...