Submission #971895

#TimeUsernameProblemLanguageResultExecution timeMemory
971895jadai007Global Warming (CEOI18_glo)C++17
10 / 100
2068 ms5316 KiB
#include<bits/stdc++.h> #define int long long using namespace std; int n,x, arr[200200], p, ans, dps[200200]; 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(dps, dps+p, arr[i]) - dps; if(idx == p) ++p; dps[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){ p = 0; vector<int> dp(n); for(int k = 0; k<n; ++k){ int a = arr[k]; if(k <= j && k >= i) a+=d; int idx = lower_bound(dp.begin(), dp.end(), a) - dp.begin(); 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...