제출 #1307269

#제출 시각아이디문제언어결과실행 시간메모리
1307269kevinsGlobal Warming (CEOI18_glo)C++20
15 / 100
2095 ms3540 KiB
#pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include <iostream> using namespace std; #define ll long long int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n, d; cin >> n >> d; ll t[n]; for (ll i = 0; i < n; ++i){ cin >> t[i]; } ll dp[n]; if (d == 0){ for (ll i = 0; i < n; ++i) dp[i] = 1; ll runningMax = 0; for (ll i = 0; i < n; ++i){ ll cur = t[i]; for (ll j = 0; j < i; ++j){ if (t[j] < t[i]){ dp[i] = max(dp[j]+1, dp[i]); } } runningMax = max(runningMax, dp[i]); } cout << runningMax << "\n"; return 0; } ll maximumLIS = 0; for (ll left = 0; left < n; ++left){ for (ll right = left; right < n; ++right){ for (ll x = -d; x <= d; ++x){ for (ll i = 0; i < n; ++i) dp[i] = 1; for (ll i = left; i <= right; ++i) t[i] += x; //compute lis dp[0] = 1; ll runningMax = 0; for (ll i = 0; i < n; ++i){ ll cur = t[i]; for (ll j = 0; j < i; ++j){ if (t[j] < t[i]){ dp[i] = max(dp[j]+1, dp[i]); } } runningMax = max(runningMax, dp[i]); } maximumLIS = max(maximumLIS, runningMax); for (ll i = left; i <= right; ++i) t[i] -= x; } } } cout << maximumLIS << "\n"; }
#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...