Submission #1060422

#TimeUsernameProblemLanguageResultExecution timeMemory
1060422ali2241Global Warming (CEOI18_glo)C++17
5 / 100
2054 ms7688 KiB
#include <bits/stdc++.h> #define int long long using namespace std; void fun() { int n, x; cin >> n >> x; int arr[n + 1]; arr[0] = 0; for (int i = 1; i <= n; ++i) { cin >> arr[i]; } int mx = 1; for (int i = -x; i <= +x; ++i) { int dp[n + 1][3]; dp[0][0] = 0; dp[0][1] = 0; dp[0][2] = 0; for (int j = 1; j <= n; ++j) { dp[j][0] = dp[j][1] = dp[j][2] = 1; for (int k = 0; k < j; ++k) { if (arr[j] > arr[k]) { dp[j][0] = max(dp[j][0], dp[k][0] + 1); dp[j][1] = max(dp[j][1], dp[k][1] + 1); dp[j][2] = max(dp[j][2], dp[k][2] + 1); } if (arr[j] + i > arr[k]) { dp[j][1] = max(dp[j][1], dp[k][0] + 1); } if (arr[j] > arr[k + 5]) { dp[j][2] = max(dp[j][2], dp[k][1] + 1); } } mx = max(mx, max(max(dp[j][0], dp[j][1]), dp[j][2])); } } cout << mx << "\n"; } int32_t main() { fun(); }
#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...