Submission #971889

#TimeUsernameProblemLanguageResultExecution timeMemory
971889jadai007Global Warming (CEOI18_glo)C++17
15 / 100
2064 ms3420 KiB
#include<bits/stdc++.h> #define int long long using namespace std; int n,x, arr[200200], p, dp[200200], ans; signed main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> x; for(int i = 0; i<n; ++i) cin >> arr[i]; if(x == 0){ for(int i = 0; i<n; ++i){ int idx = lower_bound(dp, dp+p, arr[i]) - dp; if(idx == p) ++p; dp[idx] = arr[i]; } cout << p; return 0; } for(int d = -x; d<=x; ++d){ for(int i = 0; i<n; ++i){ for(int j = i; j<n; ++j){ memset(dp, 0, sizeof(dp)); p = 0; for(int k = 0; k<n; ++k){ int a = arr[k]; if(k <= j && k >= i) a+=d; int idx = lower_bound(dp, dp+p, a) - dp; if(idx == p) p++; dp[idx] = a; } ans = max(ans, p); } } } cout << ans; }
#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...