제출 #1096451

#제출 시각아이디문제언어결과실행 시간메모리
1096451ducdevTriple Jump (JOI19_jumps)C++14
19 / 100
277 ms244124 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int MXN = 5e3; int n , q; ll a[MXN + 5] , maxVals[MXN + 5][MXN + 5]; ll dp[MXN + 5][MXN + 5]; void precompute(){ for (int i = 1; i <= n ;i++){ for (int j = i; j <= n ;j++){ maxVals[i][j] = max(maxVals[i][j - 1] , a[j]); } } for (int l = n - 2;l >= 1; l--){ for (int r = l + 2 ; r <= n ;r++){ dp[l][r] = max({dp[l + 1][r] , dp[l][r - 1] , a[l] + a[r] + maxVals[l + 1][(r + l) / 2]}); } } } signed main() { cin.tie(0)->ios_base::sync_with_stdio(0); cin >> n; for (int i = 1; i<= n ;i++) cin >> a[i]; precompute(); cin >> q; while(q--){ int l , r; cin >> l >> r; cout << dp[l][r] <<'\n'; } } //aaca //aaac
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...