Submission #1211614

#TimeUsernameProblemLanguageResultExecution timeMemory
1211614alwaus424Global Warming (CEOI18_glo)C++20
10 / 100
2096 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]; int mx = 0; for (int i = 0; i < x; i++){ for(int j=0;j<n;j++) { v[j]-=i; mx = max(mx,lis(v)); } mx = max(mx,lis(v)); } mx = max(mx,lis(v)); cout << mx << 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...